React는 페이스북과 인스타그램의 UI를 위해 만들어진 자바스크립트 라이브러리이지만, 이제 웹 개발에 갖춰야 할 기술로 확대되고 있다. 특히 React 16은 저작권 문제를 해결해, 사용자층이 더욱 확대될 것이다. 이 책은 React 16의 새로운 사항부터 시작해 간단한 컴포넌트에서 다소 복잡한 컴포넌트에 이르기까지 함께 만들어 보며 기본적인 React 16 활용 지식을 익힌다. 그리고 애플리케이션 아키텍처인 Flux를 활용하고 Redux로 세련되게 만드는 방법까지 자세히 설명한다.
★ 이 책에서 다루는 내용 ★
■ 실습 예제와 명확한 튜토리얼을 통한 React 16 코딩 학습
■ 강력한 React 16 도구를 설치해 훨씬 효율적인 개발
■ 웹 개발의 미래로써 React Fiber에 대한 영향을 이해하기
■ React 컴포넌트를 사용해 Redux 애플리케이션 아키텍처 활용
■ 프로퍼티와 자식을 가진 React 16 엘리먼트 생성
■ 상태 없음 및 상태 기반 React 16 컴포넌트 시작하기
■ JSX를 사용해 React 16 개발 과정 속도 향상하기
■ 생명주기 메서드로 React 16 컴포넌트에 대한 반응성 추가
■ Jest 테스트 프레임워크로 React 16 컴포넌트를 테스트
★ 이 책의 대상 독자 ★
규모 확장 가능하고 유지 보수 가능한 웹 사용자 인터페이스를 개발하고자 하는 프론트엔드 개발자들을 위한 책이다. 자바스크립트, HTML, CSS의 핵심 지식 일부만 알아도 React.js가 웹 개발 세계에 가져온 혁신적인 아이디어의 이점을 활용하는 데 충분하다. 제이쿼리나 Angular.js를 다뤄본 경험이 있다면 React.js가 어떻게 다른지, 그리고 여러 가지 라이브러리와 통합시켜서 어떻게 이용할지 이해하는 데 큰 도움이 될 것이다.
★ 이 책의 구성 ★
1장, 'React 16에서 새로운 점'에서는 React 16의 주요 변경 사항을 소개한다. 여기서는 렌더링 및 조정이 어떻게 작동하는지에 대한 근본적인 변경 사항과 API를 통해 노출되는 새로운 기능을 알려준다.
2장, '프로젝트를 위한 강력한 도구 설치'에서는 이 책의 목표를 언급하고 React 애플리케이션을 효율적으로 구축하기 위해 설치해야 하는 최신 도구를 설명한다. 각 도구를 소개하고 각 도구를 설치하는 방법에 대한 단계별 지침을 제공한다. 그러고 나서 이 책에서 제작할 프로젝트의 구조를 만든다.
3장, 'React 엘리먼트 생성'에서는 React 설치 방법을 설명하고 가상 DOM을 소개한다. 그러고 나서 React 엘리먼트가 무엇인지, 네이티브 자바스크립트 구문을 사용해 어떻게 React 엘리먼트를 만들고 렌더링하는지 설명한다. 마지막으로 JSX 구문을 소개하고, JSX를 사용해 React 엘리먼트를 어떻게 만드는지 보여준다.
4장, '첫 번째 React 컴포넌트 생성'에서는 React 컴포넌트를 소개한다. 상태 없음과 상태 기반 React 컴포넌트 간의 차이점과 어느 컴포넌트를 사용할지 결정하는 방법을 설명한다. 그런 다음 두 유형을 만드는 과정을 안내한다.
5장, 'React 컴포넌트에 반응성 추가'에서는 문제를 React로 해결하는 방법을 설명하고 React 애플리케이션을 계획하는 과정을 단계별로 알아본다. 이 책에서 제작하는 React 애플리케이션 전체를 캡슐화하는 React 컴포넌트를 만든다. 부모 React 컴포넌트와 자식 React 컴포넌트 사이의 관계를 설명한다.
6장, '다른 라이브러리와 함께 React 컴포넌트 사용'에서는 서드파티 자바스크립트 라이브러리와 함께 React 컴포넌트를 사용하는 방법을 살펴본다. React 컴포넌트의 생명주기를 소개하고 마운트 메소드를 사용하는 방법을 설명하며, 이 책의 프로젝트를 위한 새로운 React 컴포넌트를 어떻게 만드는지 보여준다.
7장, 'React 컴포넌트 업데이트'에서는 React 컴포넌트 생명주기의 업데이트 메소드를 소개한다. 자바스크립트에서 CSS 스타일을 사용하는 방법을 알아보고, 기본 컴포넌트의 프로퍼티를 검사하고 설정하는 방법을 설명한다.
8장, '복잡한 React 컴포넌트 생성'에서는 좀 더 복잡한 React 컴포넌트를 개발하는 방법에 초점을 맞춘다. 여러 가지의 React 컴포넌트를 구현하는 방법과 해당 컴포넌트들을 하나로 결합하면서도 제대로 작동되는 React 애플리케이션으로 만드는 방법을 자세히 살펴본다.
9장, 'Jest를 사용한 React 애플리케이션 테스트'에서는 단위 테스트 개념과 Jest를 이용해서 단위 테스트를 작성하고 실행하는 방법을 설명한다. 또한 React 컴포넌트를 테스트하는 방법도 보여준다. 테스트 스위트, 스펙, 예상 값, 부합기matcher에 대해서도 알아본다.
10장, 'Flux를 사용한 React 아키텍처 향상'에서는 React 애플리케이션 아키텍처를 향상시키는 방법을 알아본다. Flux 아키텍처를 소개하고 디스패처, 스토어, 액션 생성기에 대해 설명한다.
11장, 'Flux를 사용한 React 애플리케이션의 유지 보수 준비'에서는 Flux를 이용해서 React 애플리케이션에 대한 관심사들을 분리하는 방법을 설명한다. 장차 유지 보수가 어렵지 않게 React 애플리케이션을 리팩토링한다.
12장, 'Redux를 사용해 Flux 앱을 세련되게 만들기'에서는 Flux 라이브러리의 주요 기능을 살펴본 후 애플리케이션을 완전히 리팩토링해 상태 제어를 위한 주 메커니즘으로 Redux를 사용한다.