React란 무엇인가,
React는 웹 프레임워크이고, 자바스크립트 라이브러리의 하나이다. 대체제로는 Vue.js, Angular.js가 있다.
Angular.js 는 위 3개의 라이브러리 중 가장 강력하나, 소규모 프로젝트에는 다소 무거운 감이 있다고 한다.
Vue.js 는 Angular.js 보다는 가볍고 기능이 적고, React 보다는 무겁고, 기능이 많다.
React 는 가장 가볍고, 기능이 적으나, 현재로선 가장 인기가 많고, 커뮤니티의 의존도가 높은 언어이다.
React의 특징은 다음과 같다.
1. Data Flow
2. Component Based Structure
3. Virtual Dom
4. Props and State
5. JSX
1. Data Flow
React는 단방향 데이터 흐름을 가진다.
2. Component Based Structure
Component는 독립적인 단위로서 소프트웨어 모듈을 말한다. UI (View)를 여러 컴포넌트로 쪼개서 만든다. 단위가쪼개져 있으니, 전체 코드를 파악하기가 쉽다. 재사용성이 높다.
3. Virtual Dom
Virtual Dom 을 사용하여 실제 Tree Dom에 비해, 전후 상태를 비교 한 후, 최소한의 변경사항만 실제 DOM에 반영하여 앱 효율성과 속도 면에서 유리하다.
4. Props and State
Props는 부모컴포넌트에서 자식컴포넌트로 전달해주는 것.
State는 컴포넌트 내부에서 값을 변경할 수 있도록 함
5. JSX
JSX는 JavaScript를 확장하여 HTML 을 작성한다.