책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
리액트를 처음 접하는 독자를 위해 주요 디자인 패턴을 소개하고, 컴포넌트를 작성하는 과정을 안내하면서 리액트뿐만 아니라 웹 사용자 인터페이스 개발을 위해 알아야 할 기본 개념과 문제점, 그리고 해결 방법을 직접 체득할 수 있게 구성됐다.
이 책에서는 리액트 컴포넌트를 스타일링하고 최적화해 애플리케이션이 더 빠르고 신속하게 반응하게 만드는 방법과 체계적이고 자동화된 테스트를 작성해 코드를 더 견고하게 만드는 방법을 배운다. 마지막으로 독자가 리액트 개발 생태계에 직접 기여하는 방법을 배운다.
이 책에서 다루는 내용
█ 깔끔하고 유지관리하기 쉬운 코드 작성
█ 통합된 기법을 적용한 재사용 가능 컴포넌트 개발
█ 브라우저와 노드에서 효과적인 리액트 활용
█ 애플리케이션의 필요성에 맞는 스타일링 방법 선택
█ 애플리케이션의 로드 속도를 개선하는 서버 측 렌더링 기법
█ 컴포넌트 최적화를 통한 고성능 애플리케이션 구축
이 책의 대상 독자
리액트에 대한 이해 수준을 높이고 새로운 지식을 실제 애플리케이션 개발에 적용하고 싶다면 이 책이 큰 도움이 될 것이다.
이 책의 구성
1장, ‘리액트에 대해 알아야 할 모든 것’에서는 리액트의 기본 개념을 한 단계 앞선 관점에서 소개한다.
2장, ‘깔끔한 코드 관리’에서는 유지관리하기 쉬운 코드를 작성하기 위해 가장 중요한 측면인코딩 스타일 가이드에 대해 다룬다. 리액트를 제대로 활용하려면 함수형 프로그래밍의 기본 개념을 확실히 이해해야 한다.
3장, ‘진정한 재사용 가능 컴포넌트’ 코드베이스를 깔끔하고 유지관리하기 쉽게 만들기 위해 가장 중요한 것은 재사용 가능한 컴포넌트를 만들고 애플리케이션 핵심 요소로 활용하는 것이다.
4장, ‘모든 것을 조합하기’ 애플리케이션은 다양한 컴포넌트로 구성되므로 컴포넌트가 서로 효과적으로 통신할 수 있도록 컴포넌트 계층을 올바르게 구성하고 조정하는 것이 중요하다.
5장, ‘올바른 데이터 읽기’ 모든 클라이언트 측 애플리케이션은 데이터를 다뤄야 한다.
5장에서는 리액트에 맞는 방식으로 데이터를 읽는 다양한 기법과 방식을 설명한다.
6장, ‘브라우저에 맞는 코드 작성’에서는 애플리케이션이 브라우저에서 실행된다는 사실을 확인하고 이를 적절하게 이용하는 방법을 배운다. 또한 이벤트, 애니메이션, DOM과의 상호작용을 비롯한 몇 가지 고급 개념을 다룬다.
7장, ‘컴포넌트 꾸미기’ 멋진 UI 컴포넌트를 만드는 것은 프론트엔드 엔지니어링 작업에서 중요한 부분이다. 리액트를 사용하면 이 문제를 여러 관점의 다양한 방법으로 해결할 수 있다. 올바른 라이브러리를 사용하려면 어떤 라이브러리가 있고 어떻게 사용해야 하는지 알아야 한다.
8장, ‘재미와 효율을 위한 서버 측 렌더링’에서는 리액트의 가장 훌륭한 기능 중 하나인 서버 측 렌더링에 대해 알아본다. 서버 측 렌더링은 즉시 사용 가능하지만 최대 효율을 위해서는 올바른 방법으로 사용해야 한다.
9장, ‘애플리케이션의 성능 개선’에서는 웹 성능이 사용자 경험을 개선하는 데 가장 중요한 요소 중 하나라는 것을 확인한다. 리액트는 아주 빠른 애플리케이션을 만들기 위한 다양한 툴과 기법을 제공하며 9장에서 자세한 내용을 알아본다.
10장, ‘테스트와 디버깅’ 애플리케이션은 안정적이고 모든 한계 사례를 처리할 수 있어야 하며 여기에 테스트가 큰 도움이 된다. 견고하고 유지관리가 용이한 코드를 작성하려면 종합적인 테스트 집합을 작성하는 것이 중요하다. 또한 버그는 디버깅 방법과 가능한 한 일찍 문제를 발견하는 방법을 알고 있을 때 발생한다.
11장, ‘피해야 할 안티 패턴’ 지름길이나 창의적인 해결책으로 문제를 해결하려는 경우가 많은데, 이러한 우회는 애플리케이션에 위험할 수 있으며, 특히 대규모 코드베이스를 기반으로 작업하는 대규모 팀에서 문제가 되는 경우가 많다. 11장에서는 리액트를 사용할 때 피해야 할 일반적인 안티 패턴을 소개한다.
12장, ‘다음 단계’ 마지막 장에서는 지금까지 다룬 모든 주제를 다시 돌아본다. 오픈소스 컴포넌트를 커뮤니티에 공개하는 방법과 리액트 및 해당 생태계에 기여하는 방법을 아는 것도 중요하다.
목차
목차
- 1장. 리액트에 대해 알아야 할 모든 것
- 선언식 프로그래밍
- 리액트 요소
- 잊어야 할 기존의 모든 방식
- 흔한 오해
- 요약
- 2장. 깔끔한 코드 관리
- JSX
- 바벨
- Hello, World!
- DOM 요소와 리액트 컴포넌트
- 프로퍼티
- 자식
- HTML과 다른 점
- 속성 전개
- 자바스크립트 템플릿
- 일반적인 패턴
- ES린트
- 설치
- 구성
- 리액트 플러그인
- 에어비앤비 구성
- 함수형 프로그래밍의 기본
- 일급 객체
- 순수성
- 불변성
- 커링
- 합성
- 함수형 프로그래밍과 인터페이스
- 요약
- JSX
- 3장. 진정한 재사용 가능 컴포넌트
- 클래스 만들기
- createClass 팩토리
- React.Component 확장
- 주요 차이점
- 상태 비저장 함수형 컴포넌트
- 상태
- 외부 라이브러리
- 작동 방식
- 비동기
- 리액트 럼버잭
- 상태 사용
- 프로퍼티 형식
- 리액트 독젠
- 재사용 가능 컴포넌트
- 살아 있는 스타일 가이드
- 요약
- 클래스 만들기
- 4장. 모든 것을 조합하기
- 컴포넌트 간 통신
- children
- 컨테이너와 프레젠테이션 패턴
- 믹스인
- 상위 컴포넌트
- 리컴포즈
- 컨텍스트
- 함수 자식
- 요약
- 컴포넌트 간 통신
- 5장. 올바른 데이터 읽기
- 데이터 흐름
- 자식-부모 통신(콜백)
- 공통 부모
- 데이터 읽기
- 리액트 리페치
- 요약
- 데이터 흐름
- 6장. 브라우저에 맞는 코드 작성
- 폼
- 제어되지 않는 컴포넌트
- 제어되는 컴포넌트
- JSON 스키마
- 이벤트
- 참조
- 애니메이션
- 리액트 모션
- SVG
- 요약
- 폼
- 7장. 컴포넌트 꾸미기
- 자바스크립트 내의 CSS
- 인라인 스타일
- 라듐
- CSS 모듈
- 웹팩
- 프로젝트 설정
- 로컬 범위 CSS
- 원자형 CSS 모듈
- 리액트 CSS 모듈
- 스타일드 컴포넌트
- 요약
- 8장. 재미와 효율을 위한 서버 측 렌더링
- 유니버설 애플리케이션
- 서버 측 렌더링을 구현하는 이유
- 검색 엔진 최적화
- 공용 코드베이스
- 성능 개선
- 복잡성을 무시하지 말 것
- 간단한 예제
- 데이터 읽기 예제
- Next.js
- 요약
- 9장. 애플리케이션의 성능 개선
- 조정과 키
- 최적화 기법
- 컴포넌트 업데이트 여부
- 상태 비저장 함수형 컴포넌트
- 일반적 해결책
- 업데이트하는 이유
- render 메소드 안에 함수 만들기
- 상수 프로퍼티
- 리팩토링과 좋은 설계
- 툴과 라이브러리
- 불변성
- 모니터링 툴
- 바벨 플러그인
- 요약
- 10장. 테스트와 디버깅
- 테스트의 혜택
- 제스트를 사용한 편리한 자바스크립트 테스트
- 유연한 모카 테스트 프레임워크
- 리액트용 자바스크립트 테스트 유틸리티
- 실제 테스트 예제
- 리액트 트리 스냅샷 테스트
- 코드 커버리지 툴
- 일반적인 테스트 솔루션
- 상위 컴포넌트의 테스트
- 페이지 객체 패턴
- 리액트 개발자 툴
- 리액트를 사용한 오류 처리
- 요약
- 11장. 피해야 할 안티 패턴
- 프로퍼티를 사용한 상태 초기화
- 상태 변경
- 인덱스를 키로 사용
- DOM 요소에 프로퍼티 전개
- 요약
- 12장. 다음 단계
- 리액트에 기여하기
- 코드 배포
- npm 패키지 게시
도서 오류 신고
정오표
정오표
[p.76 : 하단 코드 첫 번째 줄]
constadd1
->
const add1