프런트엔드 개발의 복잡성을 해결하고
유지보수하기 쉬운 코드를 작성하는 핵심 노하우
리액트를 활용한 대규모 애플리케이션 개발은 비동기 처리, 상태 관리, 성능 최적화 등 다양한 도전을 동반합니다. 이 책은 리액트 개발에서 자주 발생하는 안티패턴을 정의하고, 이를 검증된 설계 원칙으로 해결하는 방법을 제시합니다. 실용적인 예제와 단계별 접근으로 코드 구조를 개선하고 TDD, 설계 원칙을 통해 신뢰할 수 있는 애플리케이션을 만드는 법을 배웁니다. 또한, 날씨 애플리케이션 프로젝트를 통해 배운 내용을 실전에 직접 적용해 볼 수 있습니다. 이 책은 리액트 개발자에게 견고하고 확장 가능한 애플리케이션을 만드는 확실한 길잡이가 될 것입니다.
[PART 1 리액트 기본 개념]
CHAPTER 1 리액트 안티패턴 소개
_1.1 UI 구축의 어려움에 대한 이해
_1.2 상태 관리의 이해
_1.3 예외 흐름 탐색하기
_1.4 리액트의 일반적인 안티패턴 살펴보기
CHAPTER 2 리액트 필수 개념 이해
_2.1 리액트 정적 컴포넌트
_2.2 prop이 있는 컴포넌트 만들기
_2.3 UI를 여러 컴포넌트로 나누기
_2.4 리액트 내부 상태 관리
_2.5 렌더링 과정 이해하기
_2.6 많이 사용되는 리액트 훅
CHAPTER 3 리액트 애플리케이션 구조
_3.1 구조화되지 않은 프로젝트의 문제점
_3.2 프런트엔드 애플리케이션의 복잡함에 대한 이해
_3.3 일반적인 리액트 애플리케이션 구조
_3.4 프로젝트 구조를 체계적으로 유지하기
CHAPTER 4 리액트 컴포넌트 설계하기
_4.1 단일 책임 원칙
_4.2 중복 배제 원칙
_4.3 합성 활용하기
_4.4 컴포넌트 설계 원칙의 결합
[PART 2 테스팅 기법]
CHAPTER 5 리액트 테스팅
_5.1 테스트가 필요한 이유
_5.2 여러 종류의 테스트 알아보기
_5.3 Jest로 하는 개별 단위 테스팅
_5.4 통합 테스트
_5.5 Cypress를 이용한 E2E 테스트
CHAPTER 6 일반적인 리팩터링 기법 살펴보기
_6.1 리팩터링 이해하기
_6.2 리팩터링 전 테스트 추가하기
_6.3 변수 추출하기
_6.4 반복문을 파이프라인으로 바꾸기
_6.5 함수 추출하기
_6.6 매개변수 객체 도입
_6.7 조건문 분해하기
_6.8 함수 이동하기
CHAPTER 7 리액트에서의 테스트 주도 개발
_7.1 TDD 이해하기
_7.2 태스킹 이해하기
_7.3 온라인 피자 가게 애플리케이션
_7.4 애플리케이션 요구사항 세분화
_7.5 애플리케이션 헤드라인 구현
_7.6 메뉴 목록 구현
_7.7 장바구니 만들기
_7.8 장바구니에 아이템 담기
_7.9 애플리케이션 리팩터링
[PART 3 비즈니스 로직과 디자인 패턴 알아보기]
CHAPTER 8 리액트 데이터 관리
_8.1 비즈니스 로직 누수 현상
_8.2 ACL(오류 방지 계층)
_8.3 Prop Drilling 문제 살펴보기
_8.4 Context API를 통한 Prop Drilling 문제 해결
CHAPTER 9 리액트 설계 원칙 적용
_9.1 단일 책임 원칙
_9.2 의존관계 역전 원칙
_9.3 명령과 조회 책임 분리 원칙
CHAPTER 10 합성 패턴
_10.1 고차 컴포넌트를 통한 합성의 이해
_10.2 리액트 훅
_10.3 드롭다운 목록 컴포넌트 만들기
_10.4 헤드리스 컴포넌트 패턴
[PART 4 실무에서의 구현]
CHAPTER 11 리액트 계층 구조 애플리케이션
_11.1 리액트 애플리케이션의 진화
_11.2 코드 오븐 애플리케이션 개선하기
_11.3 장바구니 컴포넌트 구현
_11.4 계층 구조 알아보기
CHAPTER 12 E2E 프로젝트 구현하기
_12.1 날씨 애플리케이션에 필요한 요구사항 확인
_12.2 초기 승인 테스트 작성
_12.3 도시 검색 기능 구현
_12.4 ACL 구현
_12.5 즐겨찾기 추가 기능 구현
_12.6 애플리케이션 재실행 시 이전 날씨 데이터 불러오기
CHAPTER 13 리액트 안티패턴 원칙 돌아보기
_13.1 일반적인 안티패턴 돌아보기
_13.2 디자인 패턴 훑어보기
_13.3 기본 설계 원칙 복습하기
_13.4 기법과 실무 예제 정리
리액트 프로젝트의 품질을 한 단계 끌어올리는 실무 가이드
이 책은 리액트의 기본 사용법을 넘어, 실무에서 마주치는 설계 문제를 해결하기 위한 가이드를 제공합니다. 컴포넌트 설계, TDD, 리팩터링, 그리고 패턴 기반 설계 원칙을 다루며, 유지보수성과 확장성이 뛰어난 애플리케이션을 구축하는 방법을 배울 수 있습니다. 단순한 이론에 그치지 않고, 실전 예제를 통해 설계와 테스트의 중요성을 자연스럽게 이해하며, 복잡한 문제를 해결할 수 있는 실용적인 방법을 익힐 수 있습니다.
리액트 프로젝트의 구조화, 상태 관리, 계층화된 아키텍처 설계 등 대규모 애플리케이션 개발 전략을 다룹니다. 또한, 안티패턴의 분석과 해결 방법, 명령과 조회 책임 분리(CQRS), 합성 패턴과 같은 고급 설계 기법까지 체계적으로 제시하여 리액트 개발자에게 필요한 실용적인 지식을 제공합니다.
초보 개발자에게는 탄탄한 기초를 제공하고, 경험 많은 개발자에게는 실력을 한 단계 더 발전시킬 기회를 제공하는 이 책은, 모든 리액트 개발자에게 실질적인 도움을 줄 것입니다.