이 영역을 누르면 첫 페이지로 이동
Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

페이지 맨 위로 올라가기

Coding Groot

코딩 블로그

[리액트] 리액트 노트

  • 2020.02.25 05:30
  • Programming/Web
글 작성자: Coding Groot

이 글은 리액트 튜토리얼 영상을 공부하면서 남기는 노트입니다. 영상에 있는 내용과 제가 아는 내용을 알아보고 정리하며 글을 쓰고 있습니다. 모든 출처는 아래에 있습니다.

리액트란?

  • Open Source JavaScript Library (Framework가 아니라 Library이다!!)

장점

  • 오직 UI를 만드는 용도이다보니 가볍다
  • 페이스북이 유지 보수를 해준다
  • 사용하는 사람도 많다보니 오류나 도움이 필요할 때 구글링하면 바로 나온다
  • 인기가 많다

구체적인 장점을 더 알아보자.

Component를 조합하는 방식

리액트는 전체 UI를 컴포넌트들을 조립하는 방식으로 구성한다. 그래서 다른 프로젝트의 컴포넌트를 가져와서 사용하기도 쉽고 재사용하기도 쉽다. (ex) Footer 컴포넌트만 다른 Footer 컴포넌트로 바꾼다.

리액트는 선언형 방식 (알고리즘과 상반된 방식)

리액트는 선언형 패러다임이 적용됐다. 먼저 선언형이 어떤 것인지는 아래의 예를 보고 더 이해를 해보자.

내가 나무를 만들고 싶을 떄

  • 선언형 패러다임: 나무를 이렇게 그려줘!라고 한다 (-> React가 알아서 나무를 만들어줌)
  • 명령형 패러다임: 나무를 그리는 구체적인 방법을 각각의 단계별로 전부 알려준다 (알고리즘이 이런 방식이다.)

우리가 UI가 어떻게 생겨야 하는지만 알려주면 리액트가 알아서 실제 UI 만들어준다. UI를 만드는 과정이 이렇게 추상화가 되어서 복잡한 UI를 만들 때 우리가 고통받지 않는다.

리액트는 데이터가 변하면 컴포넌트들을 효율적으로 업데이트하고 렌더링 해준다.

가장 무거운 작업인 DOM Update도 리액트에서 효과적으로 처리된다.

다른 애플리케이션에 통합할 수 있다

페이지의 일부분이나 전체 페이지 또는 어플리케이션 전체를 이식하기 쉽다.

모바일 앱도 만들 수 있다

React Native를 사용해서 모바일 앱 개발도 할 수 있다.


단점

  • 최신 리액트는 IE8 이하 버전을 지원하지 않는다

새로운 리액트 앱 만들기

리액트를 사용하기 위해서는 원래 여러 가지 빌드 설정을 해줘야 하는데 처음 배우는 입장에서 그런 것들을 하기가 쉽지 않다. 

그래서 존재하는 Build 설정 없이 React App을 만들어주는 명령어가 있다. create-react-app이다. 이 명령어를 사용하면 Build 설정 없이 바로 single-page인 React App을 만들 수 있다.


명령어를 사용하는 두가지 방법이다.

1. npx로 명령어 사용하기

npx create-react-app 프로젝트명

* 위 명령어가 동작하지 않으면 npm을 업데이트 해주고 다음의 명령어를 치면 해결된다.

npx는 npm package runner이다. 원래는 create-react-app을 깔고나서 create-react-app 명령어를 사용할 수 있지만 npx라는 최신 기능을 사용하면 안깔고도 사용할 수 있다. 

2. npm으로 명령어 사용하기

npx말고 내 로컬(PC)에 패키지를 깔고 create-react-app 명령어를 사용해보자.

npm install create-react-app -g

↑먼저 패키지를 깔고

create-react-app 프로젝트명

↑create-react-app 명령어를 실행하면 된다.

이렇게 하면 패키지를 주기적으로 업데이트를 해줘야 한다는 것을 기억하자.

앱 실행하기

이제 localhost에 실행해보고 결과를 보자.

cd 프로젝트명
npm start

localhost:3000으로 다음의 페이지가 뜨면 성공이다.

create-react-app으로 만든 앱 실행


Component

UI의 일부분을 설명하는 역할을 한다. 보통 자바스크립트 파일이다.

Component의 특징

  • 컴포넌트는 재사용할 수 있다
  • 컴포넌트 안에 컴포넌트를 넣을 수도 있다

Component의 종류

  1. Stateless Functional Component
  2. Stateful Class Component

출처

아래의 유튜브 영상을 보면서 공부하면서 남기는 노트입니다.

  • https://www.youtube.com/watch?v=QFaFIcGhPoM&list=PLC3y8-rFHvwgg3vaYJgHGnModB54rxOk3
  • Icons made by Freepik from www.flaticon.com
반응형

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • 티스토리 글쓰기에서 완료 버튼 사라졌을 때 해결법

    티스토리 글쓰기에서 완료 버튼 사라졌을 때 해결법

    2020.05.04
  • 내가 찾은 CORS Error의 올바른 해결법

    내가 찾은 CORS Error의 올바른 해결법

    2020.05.03
  • [Gatsby] Anchor Tag 대신 Link Component

    [Gatsby] Anchor Tag 대신 Link Component

    2020.04.11
  • 티스토리 Table Of Content(TOC) 추가하기 :: HTML로 Page Jump하기

    티스토리 Table Of Content(TOC) 추가하기 :: HTML로 Page Jump하기

    2020.02.21
다른 글 더 둘러보기

정보

Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

  • Coding Groot의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록
  • 소개
  • 블로그 저작권

카테고리

  • 분류 전체보기 (184) N
    • Git (23)
      • Git Tutorial (9)
      • Git Note (7)
      • Git Lecture (7)
    • Programming Language (1)
      • C (2)
      • C Sharp (5)
      • Java (4)
      • JavaScript (7)
      • Julia (5)
      • Python (4)
    • Programming (8)
      • Algorithm (2)
      • Compiler (5)
      • Data Structure (0)
      • Web (12)
      • NestJS (2)
    • DevOps, Infra (36)
      • Apple (6)
      • Cloud (15)
      • Database (1)
      • Network (4)
      • Linux (8)
    • Game Programming (11)
      • Unity Tutorial (5)
      • Unity Note (6)
    • Hardware Design (1)
      • Digital Circuit (1)
    • Note (49)
      • Coffee (2)
      • Retrospect (15)
      • Reading List (14)
    • Mathematics (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • Github
  • 회고
  • 한빛미디어
  • javascript
  • tutorial
  • 서평
  • git
  • aws
  • 전체 보기…

정보

Coding Groot의 Coding Groot

Coding Groot

Coding Groot

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기

나의 외부 링크

  • GitHub
  • SlideShare
  • 유니티 2020 수업
  • TIL Blog
  • 모도코

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. Copyright © Coding Groot.

티스토리툴바