"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."
들어가며
리액트를 어느정도 사용해보니까 단순히 기능을 사용하는 데에서 그치는게 아니라 리액트가 어떻게 작동하는 지 제대로 알아야겠다는 생각이 들었습니다. 특히 최적화가 필요할 때, 무작정 useMemo, useCallback을 사용하기보단 리액트의 렌더링 과정과 성능 개선 원리를 이해하는 것이 더 중요하다는 생각이 들었습니다. 이 책은 리액트의 기본적인 사용법을 넘어서, 리액트의 철학, 렌더링 메커니즘, 최적화 방법, 실전에서의 활용법까지 폭넓게 다룹니다. 단순한 튜토리얼이 아니라 "왜 이런 방식으로 동작하는가?" 에 대한 깊이 있는 설명이 많아 리액트를 제대로 이해하고 싶은 개발자들에게 유용한 책이었습니다.
목차 및 주요 내용
목차는 다음과 같습니다.
CHAPTER 1 입문자를 위한 지식
_1.1 리액트는 왜 필요한가요?
_1.2 리액트 이전의 세계
_1.3 리액트 등장
_1.4 그래서... 리액트는 왜 필요한가요?
_1.5 돌아보기
_1.6 복습하기
_1.7 미리보기
CHAPTER 2 JSX
_2.1 자바스크립트 XML?
_2.2 JSX의 장점
_2.3 JSX의 약점
_2.4 내부 동작
_2.5 JSX 프라그마
_2.6 표현식
_2.7 돌아보기
_2.8 복습하기
_2.9 미리보기
CHAPTER 3 가상 DOM
_3.1 가상 DOM 소개
_3.2 실제 DOM
_3.3 가상 DOM 작동 방식
_3.4 돌아보기
_3.5 복습하기
_3.6 미리보기
CHAPTER 4 재조정
_4.1 재조정 이해하기
_4.2 일괄 처리
_4.3 기존 기술
_4.4 파이버 재조정자
_4.5 돌아보기
_4.6 복습하기
_4.7 미리보기
CHAPTER 5 자주 묻는 질문과 유용한 패턴
_5.1 React.memo를 사용한 메모화
_5.2 useMemo를 사용한 메모화
_5.3 지연 로딩
_5.4 useState와 useReducer
_5.5 강력한 패턴
_5.6 돌아보기
_5.7 복습하기
_5.8 미리보기
CHAPTER 6 서버 사이드 리액트
_6.1 클라이언트 사이드 렌더링 한계
_6.2 서버 렌더링의 부상
_6.3 하이드레이션
_6.4 서버 렌더링 작성
_6.5 리액트의 서버 렌더링 API
_6.6 직접 구현하지 마세요
_6.7 돌아보기
_6.8 복습하기
_6.9 미리보기
CHAPTER 7 리액트 동시성
_7.1 동기식 렌더링의 문제
_7.2 파이버 다시 보기
_7.3 업데이트 예약과 지연
_7.4 더 깊이 들어가기
_7.5 렌더 레인
_7.6 useTransition
_7.7 useDeferredValue
_7.8 동시성 렌더링 관련 문제
_7.9 돌아보기
_7.10 복습하기
_7.11 미리보기
CHAPTER 8 프레임워크
_8.1 프레임워크가 필요한 이유
_8.2 프레임워크 사용 시 장점
_8.3 프레임워크 사용 시 트레이드오프
_8.4 인기 있는 리액트 프레임워크
_8.5 프레임워크 선택
_8.6 돌아보기
_8.7 복습하기
_8.8 미리보기
CHAPTER 9 리액트 서버 컴포넌트
_9.1 장점
_9.2 서버 렌더링
_9.3 서버 컴포넌트 규칙
_9.4 서버 액션
_9.5 리액트 서버 컴포넌트의 미래
_9.6 돌아보기
_9.7 복습하기
_9.8 미리보기
CHAPTER 10 리액트 대체제
_10.1 뷰
_10.2 앵귤러
_10.3 스벨트
_10.4 솔리드
_10.5 퀵
_10.6 자주 사용하는 패턴
_10.7 반응형이 아닌 리액트
_10.8 리액트의 미래
_10.9 돌아보기
_10.10 복습하기
_10.11 미리보기
CHAPTER 11 마치며
_11.1 핵심 요약
_11.2 리액트 학습 여정
_11.3 마법 뒤에 숨겨진 원리
_11.4 심화 주제
_11.5 트렌드 따라잡기
이 책은 리액트의 기초 개념부터 심화된 내부 구조까지 폭넓게 다루고, 리액트를 단순히 사용하는 것을 넘어 그 원리를 이해하고 최적화하는 방법을 배우는 데 초점을 맞추고 있습니다.
먼저 리액트가 등장하게 된 배경, 선언형 UI 및 컴포넌트 기반 개발의 개념을 통해 기본 지식을 다지며, JSX가 단순한 마크업 언어를 넘어 JavaScript의 확장 문법임을 실제 코드 변환 과정을 통해 이해시킵니다.
리액트의 효율적인 UI 업데이트 방식을 설명하기 위해 가상 DOM의 역할과 변경된 부분만 업데이트하는 재조정 과정을 상세히 설명해줍니다. 또한, useState와 useReducer의 차이, React.memo, useMemo, useCallback을 적절하게 사용하는 방법 등 유용한 패턴과 해결책을 정리합니다.
다양한 리액트 기반 프레임워크(Next.js, Remix, Gatsby 등)의 장단점을 비교하고, 클라이언트 컴포넌트와 서버 컴포넌트의 차이, 서버 컴포넌트 도입이 개발 방식에 미치는 영향을 설명합니다. 또한, 뷰나 앵귤러와 같은 리액트 대체제와의 객관적인 비교를 통해 리액트의 강점과 약점을 평가합니다.
또한, 리액트의 서버 사이드 렌더링(SSR)과 React 18 이후 도입된 동시성 기능을 소개하며, Next.js를 활용한 SSR 및 useTransition, Suspense를 통한 비동기 렌더링 최적화 방법을 다룹니다.
추천 대상
✔️ 리액트를 써본 경험이 있고, "왜 이렇게 동작하지?"라는 궁금증이 드는 분
✔️ 기본적인 CRUD 기능 구현을 넘어서 리액트의 내부 동작 원리를 깊이 이해하고 싶은 분
✔️ 성능 최적화, 상태 관리, 대규모 애플리케이션 설계에 대해 고민하는 분
🚨 아예 리액트를 처음 접하는 분들에게는 다소 어려울 수 있습니다.
이 책은 단순히 리액트를 사용하는 수준에서 벗어나 리액트가 내부적으로 어떻게 동작하는지 깊이 이해하고 싶은 분들께 추천합니다. 리액트를 아예 처음 공부하시는 분께는 내용이 어렵게 느껴질 수도 있습니다. 어느 정도 리액트를 다뤄본 후 리액트의 원리를 깊이 파악하고 싶은 분들껜 큰 도움이 될 것 같습니다.
마무리하며
이 책을 읽으며 리액트가 단순한 UI 라이브러리가 아니라, 컴포넌트 기반의 선언형 UI를 효율적으로 관리하는 강력한 도구라는 점을 다시 한번 깨달았습니다. 단순한 기능 사용을 넘어 리액트의 원리를 이해하고, 최적화 기법을 익히고 싶은 개발자라면 꼭 읽어볼 가치가 있는 책이라고 생각합니다.