리액트 웹앱 제작 총론 2/e [리액트와 리덕스를 이용한 웹앱 개발 가이드]
- 원서명Learning React, 2nd Edition: A Hands-On Guide to Building Web Applications Using React and Redux (ISBN 9780134843551)
- 지은이키루파 친나탐비(Kirupa Chinnathambi)
- 옮긴이이태상
- ISBN : 9791161752884
- 30,000원
- 2019년 04월 26일 펴냄
- 페이퍼백 | 344쪽 | 188*235mm
- 시리즈 : 오픈소스 프로그래밍
책 소개
요약
리액트는 엄청난 성공을 거두고 있는 웹 UI 라이브러리다. 리액트는 복잡한 웹앱을 제작할 때에 겪는 흔한 문제를 해결할 뿐만 아니라, 더 쉽게 UI를 구현할 수 있는 다양한 컴포넌트와 기법을 제공한다. 이 책은 JSX, 상태 관리, 생명주기 등 리액트의 핵심 개념뿐만 아니라, 리덕스를 통한 데이터 관리 방법을 설명하며, 최적화된 워크플로우를 따라 고성능의 웹앱을 빠르게 제작할 수 있게 가이드한다.
1판인 『리액트 웹앱 제작 총론』의 내용을 전체적으로 보강하고, 실무에 필요한 외부 데이터 사용하기, 성능 이슈, 리덕스에 관해서도 다룬다.
이 책에서 다루는 내용
■ 첫 리액트 앱 제작
■ UI 요소를 정의하는 컴포넌트 개발
■ 여러 컴포넌트를 결합한 복합적인 UI 구현
■ 자바스크립트 대신 JSX를 사용한 비주얼 구현
■ 앱의 상태 관리
■ 리액트 방식의 스타일 적용
■ 컴포넌트 생명주기의 이해
■ 라우팅과 뷰를 이용한 싱글 페이지 앱 제작
■ 리덕스를 사용한 앱 데이터와 상태의 쉬운 관리
이 책의 구성
1장. '리액트 소개'에서는 리액트가 하는 일과 그 이유에 대해 개괄적으로 소개한다.
2장. '첫 번째 리액트 앱'에서는 render 메소드에 h1 태그를 정의할 때의 JSX에 대해 알아본다.
3장. '리액트 컴포넌트'에서는 리액트를 리액트답게 만드는 것 중 하나인 컴포넌트를 배운다.
4장. '리액트 스타일링'에서는 CSS 스타일 규칙을 사용하는 방법과는 다른, 리액트가 자바스크립트에 인라인 방식으로 스타일링하는 모습을 볼 수 있다. HTML과 비슷한 XML 문법을 사용해 자바스크립트에서 UI를 통째로 선언하는 방법을 JSX를 통해 배운다.
5장. '복잡한 컴포넌트 제작'에서는 다양한 계층의 컴포넌트를 다루며, 여러 부모와 여러 자식 사이의 속성 전달 방법을 알아본다.
6장. '속성 전달'에서는 여러 계층에서 속성 전달을 좀 더 쉽게 할 수 있는 방법을 알아본다.
7장. 'JSX와의 재회'에서는 JSX를 알아야 할 필요가 있는 사항을 깊이 들여다보기 위해 역진 추적(backtracking)과 전진 추적(forwardtracking)을 배운다.
8장. '상태 다루기'에서는 상태 보존 컴포넌트로 무엇을 할 수 있는지 알아본다.
9장. '데이터에서 UI로'에서는 실전에서 보게 될 일반적인 시나리오에서 겪을 수 있는 난관을 줄이는 방법을 알아본다.
10장. '이벤트'에서는 이벤트 처리와 관련한 여러 가지 사항을 알아본다. 리액트가 이벤트를 취급하는 방법은 약간 다르며, 그 차이에 세심한 주의를 기울이지 않으면 놀라게 될 일이 많을 것이다. 몇 개의 간단한 예제로 시작해, 점점 더 이상하고 복잡하고 짜증나는 상황을 해결해나가는 방법을 배운다.
11장. '컴포넌트 생명주기'에서는 생명주기 메소드와 이를 통해 할 수 있는 일들에 관해 논의한다.
12장. 'DOM 엘리먼트 접근'에서는 DOM 엘리먼트에 직접 접근할 수 있는 쉬운 방법을 알아본다.
13장. '리액트 개발 환경 구성’에서는 리액트 자체보다는 리액트 앱을 개발하기 위한 환경 구성에 관한 내용을 다룬다.
14장. ’외부 데이터 사용'에서는 외부 데이터를 다루는 데 필요한 자바스크립트의 모든 것과 리액트 앱 내부에서 작동하게 하는 모든 방법을 배운다.
15장. 'Todo List 앱 제작'에서는 지금까지 배운 많은 개념과 기법을 총동원해 Todo List 앱을 개발할 것이다.
16장. ‘슬라이드 메뉴'에서는 UI 부문에서 자주 등장하는 슬라이드 메뉴를 리액트로 만들어 본다.
17장. ‘불필요한 렌더링 방지'에서는 render 메소드의 정체를 알아보고, render 메소드가 호출되게 하는 방법을 설명한다.
18장. ‘리액트 라우터를 이용한 싱글 페이지 앱 제작'에서는 리액트를 이용해 간단한 싱글 페이지 앱(SPA)을 만들어본다.
19장. ‘리덕스 소개'에서는 리덕스의 주요 기능의 개념을 알아보고, 기능을 실현하는 코드도 직접 살펴본다.
20장. '리액트와 리덕스'에서는 리액트 프로젝트에서 리덕스가 가장 인기 있는 이유를 알아보고, 리액트와 리덕스를 통합해 개발해본다.
상세 이미지
목차
목차
- 1장. 리액트 소개
- 예전의 멀티페이지 디자인
- 요즘의 싱글 페이지 앱
- 리액트와의 첫 만남
- UI 상태의 자동 관리
- 번개같이 빠른 DOM 조작
- 조립하기 쉬운 UI를 지원하는 API
- 자바스크립트만으로 정의하는 비주얼
- MVC 아키텍처에서의 ‘V’
- 정리
- 2장. 첫 번째 리액트 앱
- JSX 다루기
- 리액트 시작하기
- 이름 보여주기
- 여전히 익숙한 기술
- 목적지 변경
- 스타일 입히기!
- 정리
- 3장. 리액트 컴포넌트
- 함수에 대한 짧은 복습
- UI를 다루는 방식의 변화
- 리액트 컴포넌트와의 첫 만남
- Hello, World! 컴포넌트 만들기
- 속성 지정
- 자식 다루기
- 정리
- 4장. 리액트 스타일링
- 알파벳 모음 보여주기
- 리액트 콘텐츠 스타일링
- 생성된 HTML의 이해
- 바로 스타일링!
- 리액트 방식의 스타일링
- 스타일 객체 만들기
- 콘텐츠 스타일링
- 배경색 커스터마이징
- 정리
- 5장. 복잡한 컴포넌트 제작
- 비주얼 엘리먼트에서 컴포넌트로
- 주요 비주얼 요소 식별
- 컴포넌트 식별
- 컴포넌트 작성
- 카드 컴포넌트
- Square 컴포넌트
- Label 컴포넌트
- 속성 전달
- 컴포넌트 결합성의 비밀
- 정리
- 비주얼 엘리먼트에서 컴포넌트로
- 6장. 속성 전달
- 문제점 인식
- 문제점 분석
- 스프레드 연산자와의 만남
- 더 나은 속성 전달 방법
- 정리
- 7장. JSX와의 재회
- JSX의 실체
- 기억해야 할 JSX의 특징
- 표현식 평가
- 복수의 엘리먼트 리턴
- 인라인 CSS 사용 불가
- 주석
- 대소문자 구별
- 어디서든 가능한 JSX
- 정리
- 8장. 상태 다루기
- 상태 사용하기
- 시작 지점
- 카운터 켜기
- 초기 상태 값 설정
- 타이머 가동과 상태 설정
- 상태 변경 후 렌더링
- 참고: 전체 코드
- 정리
- 상태 사용하기
- 9장. 데이터에서 UI로
- 예제
- 어디든 가능한 JSX - 2탄
- 배열 다루기
- 정리
- 10장. 이벤트
- 이벤트 리스닝하기와 반응하기
- 시작 지점
- 버튼 작동시키기
- 이벤트 속성
- 합성 이벤트
- 이벤트 속성 다루기
- 또 다른 이벤트 처리 기법
- 컴포넌트의 이벤트는 직접 리스닝할 수 없다
- 일반 DOM 이벤트의 리스닝
- 이벤트 핸들러 내부의 this
- 리액트에서의 이벤트 처리는 … 도대체 왜?
- 브라우저 호환성
- 성능 향상
- 정리
- 이벤트 리스닝하기와 반응하기
- 11장. 컴포넌트 생명주기
- 생명주기 메소드와의 만남
- 생명주기 메소드의 작동 확인
- 초기 렌더링 단계
- 기본 속성 설정
- 기본 상태 설정
- componentWillMount
- render
- componentDidMount
- 업데이트 단계
- 상태 변경 다루기
- shouldComponentUpdate
- componentWillUpdate
- render
- componentDidUpdate
- 속성 변경 다루기
- 언마운트 단계
- 정리
- 12장. DOM 엘리먼트 접근
- 컬러라이저 예제
- ref와의 첫 만남
- 포털 사용하기
- 정리
- 13장. 리액트 개발 환경 구성
- Create React와의 첫 만남
- 무슨 일이 벌어졌나?
- HelloWorld 앱 개발
- 운영 버전 빌드하기
- 정리
- Create React와의 첫 만남
- 14장. 외부 데이터 사용
- 웹 요청에 관한 기초
- 이제 리액트 시간!
- 시작하기
- IP 주소 가져오기
- 흥미로운 비주얼 만들기
- 정리
- 15장. Todo List 앱 제작
- 시작하기
- 초기 UI 제작
- 앱의 나머지 부분 개발
- 아이템 추가
- 아이템 표시
- 스타일 적용
- 아이템 삭제
- 애니메이션
- 정리
- 16장. 슬라이드 메뉴
- 슬라이드 메뉴의 작동 원리
- 개발 준비
- 시작하기
- 메뉴 보이기와 감추기
- 버튼 제작
- 메뉴 제작
- 정리
- 17장. 불필요한 렌더링 방지
- render 메소드의 정체
- render 호출의 최적화
- 예제로 시작하기
- render 호출의 이해
- shouldComponentUpdate 재정의
- PureComponent 사용
- 정리
- 18장. 리액트 라우터를 이용한 싱글 페이지 앱 제작
- 예제
- 시작하기
- 앱 구축
- 초기 프레임 보여주기
- 콘텐츠 페이지 만들기
- 리액트 라우터 사용하기
- 소소한 작업들
- 라우팅 문제 해결
- 약간의 CSS 추가
- 활성화된 링크의 강조
- 정리
- 19장. 리덕스 소개
- 리덕스란 무엇인가
- 리덕스를 사용한 앱 제작
- 리덕스 타임!
- 조명! 카메라! 액션!
- 이제 리듀서 차례
- 마지막은 스토어
- 정리
- 20장. 리액트와 리덕스
- 리덕스를 이용한 리액트 상태 관리
- 리액트와 리덕스 합치기
- 시작하기
- 앱 구축
- 정리
- 리덕스를 이용한 리액트 상태 관리
도서 오류 신고
정오표
정오표
[p.133: 아래에서 8행]