immutable
router
- 페이지 전환을 할 때마다 네트워크 로딩을 하지 않는 장점이 있지만, url로 페이지를 찾아올 수 없다는 단점
- react router
- url에 따라 컴포넌트가 실행될 수 있도록 도와줌
create-react-app
npm run eject
- 감춰진 create-react-app의 설정을 수정할 수 있음
redux
- 기존 react에서는 자식 컴포넌트 / 부모 컴포넌트 사이에 props나 이벤트 버블링 필요
- redux는 중앙 데이터 저장소에 모든 컴포넌트가 연결되어 있고, 저장소의 내용이 변경되면 관련된 컴포넌트가 변경됨
react server side rendering
- 서버에서 웹페이지를 완성한 후 클라이언트에 전송하는 방식으로 애플리케이션 구동
- 초기 구동시간 단축
- JavaScript 특유의 로딩이 필요없는 특성 유지
- 검색 엔진 등의 로봇이 html을 읽도록 할 수 있음
react native
- react 방식으로 네이티브 앱 제작 가능
- 하나의 코드가 거의 모든 애플리케이션에서 동작 가능