15장 마치며
1. 리액트 프로젝트를 시작할 때 고려해야 할 사항
1. 서비스의 유지보수를 고려한다면
-
16.8 버전에서 처음 훅이 소개됐고, 덕분에 함수 컴포넌트의 개념이 정립됐다.
-
17 버전은 새로운 기능 출시 및 호환성이 깨지는 변경 사항을 최소한으로 맞춘 업데이트이므로 가능하면 17버전으로 가는 것도 좋다.
-
리액트 팀에서 밝힌 바로, 클래스 컴포넌트는 사라지지 않기 때문에 반드시 리팩터링 할 필요는 없다.
2. 인터넷 익스플로러 11 지원 여부
-
리액트: 18 버전부터 지원하지 않는다.
-
Next.js: 13 버전부터 지원하지 않는다.
-
query-string: 6.x 버전부터 지원하지 않는다.
3. 서버 사이드 렌더링 애플리케이션 지향
-
제한적인 사용자에게 빠르게 웹 페이지를 전달하거나 소규모 웹 페이지를 만드는 경우 싱글페이지 어플리케이션을 추천한다.
-
많은 사용자를 감당해야 하고, 혹은 그럴 계획이 있다면, 서버를 준비할 수 있는 충분한 여유가 된다면 시작부터 서버 사이드 렌더링을 고려하는 것이 좋다.
4. 상태 관리 라이브러리는 필요할 때만
-
번들링 크기가 커지기 때문에, 관리해야 할 상태가 많고, 여러 상태를 합성해서 새로운 상태를 파생해야 하는 경우에 사용을 고려해본다.
-
무작정 상태 관리 라이브러리 하나를 잡고 공부하는 것보다 조금씩 점진적으로 상태와 상태 관리의 필요성을 깨닫는 것이 더 좋다.
5. 리액트 의존성 라이브러리 설치를 조심
-
peerDependencies가 설치하고자 하는 프로젝트의 리액트 버전과 맞는지 확인해야 한다.
-
버전이 맞지 않다면 정상적인 방법으로 설치가 불가능하고, 설령 억지로 설치한다 하더라도 향후 문제를 일으킬 가능성이 크다.
2. 언젠가 사라질 수도 있는 리액트
Svelte와 Vue에 비해 학습 난이도가 높은 편이고, 공식 문서의 클래스 컴포넌트와 함수 컴포넌트가 혼란을 줄 수 있다. CSS와 라이브러리의 높은 자유도로 인해 선택이 복잡해지는 것도 진입 장벽이 될 수 있다.