1. 대규모 애플리케이션의 등장
본래 MVC,MVVM,MVW와 같은 아키텍처를 사용하고 애플리케이션 구조화
위와 같은 아키텍처의 공통점은 모델과 뷰가 있음
- 모델은 애플리케이션에서 사용하는 데이터를 관리하는 영역
- 뷰는 사용자에게 보이는 부분
2. 페이스북 개발팀은 최대한 성능은 아끼고 편안한 사용자 경험 제공 및 구현하고 개발한 것이 리액트
- 오직 뷰만 신경 쓰는 라이브러리
- 컴포넌트는 재사용이 가능한 API으로 내장하고 있음
3. Virtual DOM
- 실제 DOM을 조작하는 것이 아닌 추상화한 자바스크립트 객체를 구성하여 사용
4. JSX
-
브라우저가 아닌 환경에서 자바스크립트 실행할 수 있게 환경 만드는 것이 Node.js
-
번들러 : 파일을 묶듯이 연결
-
웹팩을 사용하면 SVG 파일, CSS 파일도 불러와서 사용할 수 있음
-
JSX : 자바스크립트 확장 문법, 바벨을 사용하여 일반 자바스크립트 코드로 변환
-
ReactDOM.render : 컴포넌트를 페이지에 렌더링하는 역할 react-dom 모듈을 불러와 사용 가능
5. JSX 문법
- 감싸인 요소
- 자바스크립트 요소
- if문 대신 조건부 연산자
- AND 연산자(&&)를 사용한 조건부 렌더링
- undefined를 렌더링하지 않기
- 인라인 스타일링
- className
- 꼭 닫아야 하는 태그
- 주석
6. ESLint
- 문법 검사 도구
- Prettier은 코드 스타일 자동 정리 도구