[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 기법과 실무 예제 정리