Skip to content

Latest commit

 

History

History
46 lines (32 loc) · 2.14 KB

React_1.md

File metadata and controls

46 lines (32 loc) · 2.14 KB

[실전 리액트 프로그래밍] 정리

리액트란?

리액트는 페이스북에서 개발하고 관리하는 UI 라이브러리인데, 전역 상태 관리, 라우팅, 빌드 시스템 등은 제공하지 않고 오로지 UI 기능만 제공한다. 시스템을 구축하고 각자의 환경에 맞도록 최적화할 수 있는 장점이 있지만, 설정해야할 것이 많기 때문에 진입장벽이 존재한다. 이에 따라 리액트 팀에서는 create-react-app 명령어를 통해 개발환경을 쉽게 구축할 수 있도록 한다.

리액트를 사용하는 이유

리액트를 포함하여 FE 라이브러리 / 프레임워크를 사용하는 가장 큰 이유는, UI를 자동으로 업데이트 해준다는 점 이다. 프로그램의 상태 가 변하면 UI도 변경되는데, 다음과 같이 함축적으로 표현할 수 있다.

UI = render(state)

상태가 변경되는 경우는 다음과 같을 것이다 : API 통신 혹은, 사용자의 이벤트

리액트는 변경되는 상태값들을 추적하여 UI를 자동으로 업데이트 해준다.

리액트를 사용하는 또 다른 이유는, 가상 돔(virtual dom)을 통해 UI를 빠르게 업데이트 하는 것이다.

가상 돔이란, 이전 UI 상태를 메모리에 유지하여 변경될 UI들을 최소로 계산한다.

createElement

createElement 함수는 리액트 요소를 반환한다.

구조는 다음과 같다.

React.createElement(component, props, ...children) => ReactElement

첫 번째 매개변수는 문자열이나 리액트 컴포넌트인데, 문자열인 경우 HTML 태그에 해당하는 돔 요소가 생성된다.

createElement('p', null, 'hello')

<div>
  <p>hello</p>
</div>

와 같은 형태이다.

두 번째 매개변수 props 는 컴포넌트가 사용하는 데이터를 나타내는데, style이나 className 같은 것들이다.

세 번째 매개변수 children 은 해당 컴포넌트가 감싸고 있는 내부의 컴포넌트를 가리킨다.

대부분은 createElement를 직접 작성하지 않고, 바벨을 통해 JSX를 사용한다.