출고예상일 안내
주문하신 상품이 한국에서 현지 배송을 위한 출고단계가 이루어질 것으로 예상되는 날짜입니다. 상품을 준비하는 과정에서 내부적인 사정으로 인해 출고예상일에 다소 오차가 생길 수 있습니다.
여러 상품(예약상품포함)을 함께 주문하신 경우 출고예상일이 가장 늦은 날짜에 맞춰 함께 배송됩니다.

ISBN : 9791161754161 / 968쪽 188 x 235 (㎜)
이 상품에 궁금하신점이 있으세요? 1:1상담문의

-
리더인(이다인)
-
전수연
-
칼릭스(손윤석)
- 20,700
- 23,400
- 19,800
- 19,800
반디앤루니스 리뷰
리액트는 가장 인기 있는 웹 UI 라이브러리다. 이 책은 기초부터 시작해 정교한 고급 기능까지 리액트를 최대한으로 설명한다. 또한 리액트로 웹 애플리케이션을 개발할 때 필요한 다양한 도구와 기법도 빠뜨리지 않았다. 이 책을 통해 정교하고 풍부한 UI 기반에서 강력한 아키텍처와 응답성 높은 웹 애플리케이션 개발 방법을 배우고 실무에 적용할 수 있다.
출판사 리뷰
이 책의 구성 1부, 리액트 시작하기 1부는 리액트 개발을 시작하는 데 필요한 정보를 제공한다. 1장에서 간단한 리액트 애플리케이션의 제작 방법을 익히고 3장과 4장에서 HTML, CSS, 자바스크립트와 같은 리액트 개발의 핵심 기술에 관한 기초 지식을 복습한다. 5장부터 8장까지는 SportsStore라고 하는 좀 더 현실적인 애플리케이션 제작 과정을 거친다. 2부, 리액트 주무르기 2부에서는 대부분의 프로젝트에 필요한 리액트의 핵심 기능을 다룬다. 리액트에는 많은 기능이 내장돼 있다. 예제 애플리케이션을 위해 커스텀 코드와 콘텐츠를 추가하는 방식으로 기능을 깊이 있게 설명할 것이다. 3부, 리액트 애플리케이션 완성하기 리액트는 복잡한 애플리케이션에 필요한 고급 기능을 별도의 패키지를 통해 제공한다. 3부에서는 중요한 패키지들을 소개하고, 작동 원리를 설명하며, 어떻게 리액트의 핵심 기능에 적용할 수 있는지 알아본다
★ 지은이의 말 ★
매우 인기 있는 리액트 프레임워크를 사용해 현대의 브라우저와 디바이스의 능력을 활용한 동적인 자바스크립트 애플리케이션을 구축한다. 리액트가 정교하고 풍부한 사용자 인터페이스의 기반을 제공하면서 동시에 어떻게 강력한 아키텍처와 응답성 높은 데이터의 강점을 가져다 주는지 배울 수 있다.
이 책에서는 리액트를 최대한으로 설명한다. 먼저 리액트 아키텍처와 이점을 설명하고, 나중에는 리액트뿐만 아니라 관련 도구와 라이브러리의 사용법까지 보여준다. 기초부터 시작해 정교한 고급 기능까지 여러분에게 필요한 지식을 깊이 있게 전달하면서 말이다.
각 주제는 명확하고 간결하게 나타내고, 각 장은 흔하게 겪을 수 있는 문제점과 해결책으로 구성했다.
★ 옮긴이의 말 ★
스택 오버플로(Stack Overflow)의 2019년 조사에 의하면 가장 많이 사용되는 웹 프레임워크는 제이쿼리(jQuery), 리액트(React), 앵귤러(Angular) 순이었습니다. 범용 자바스크립트 라이브러리인 제이쿼리를 제외한다면, 자바스크립트 UI 프레임워크로는 여전히 리액트가 선두에 있습니다. 또한 가장 사랑하는, 가장 배우고 싶은 웹 프레임워크 부문에서도 리액트가 1위였습니다.
그런 인기만큼이나 리액트 관련 서적도 많습니다만, 그중에서도 이 책은 리덕스(Redux), URL 라우팅, 그래프QL(GraphQL) 리액트로 웹앱을 개발할 때 필요한 거의 모든 사항을 다루고 있습니다. 이 책의 또 하나의 장점은 모든 버전을 고정해 예제를 제시하고 있다는 점입니다. 많은 경우에 각 패키지들의 버전이 집필 시점과 달라짐에 따라 독자가 실습을 할 때 오류가 발생하거나 책의 설명이 맞지 않기도 합니다. 이 책은 그런 문제를 방지하고자 모든 패키지의 버전을 명시해 실습하게 했습니다. 예컨대 리액트의 경우 이 책에서는 16.7을 사용하며, 이 책을 보는 시점의 최신 버전은 16.13이나 16.14 정도로 예상됩니다. 그러나 이 정도의 마이너 버전 차이는 리액트를 공부하는 데 거의 지장을 주지 않습니다. 오히려 리액트와 그에 맞는 각 패키지들의 버전을 고정함으로써 완벽한 실습이 가능해집니다.
이 책은 리액트를 처음 접하는 독자, 이미 리액트를 기초 수준에서 알고 있는 독자 모두에게 적합합니다. 이 책으로 리액트를 마스터하고 실제 프로젝트에서도 충분히 활용할 수 있다고 감히 말씀드립니다. 신종 바이러스 사태 등 여러 가지 힘든 상황에서도 고군분투하는 모든 웹 개발자 분들의 건승과 성공을 빕니다.
1부. 리액트 시작하기
1장. 첫 리액트 애플리케이션
개발 환경 준비
Node.js 설치
Create React App 설치
깃 설치
에디터 설치
브라우저 설치
프로젝트 생성
프로젝트 구조
부트스트랩 CSS 프레임워크
개발 도구
임시 콘텐츠 대체
동적 콘텐츠
상태 데이터의 변경
할 일 목록 애플리케이션에 기능 추가
할 일 목록 보여주기
컴포넌트 추가
자식 컴포넌트 사용
마무리 작업
완료된 할 일의 시각적 처리
데이터의 지속 저장
정리
2장. 리액트의 이해
리액트는 필수인가?
라운드 트립 애플리케이션
싱글 페이지 애플리케이션
애플리케이션 복잡성
필요한 사전 지식
필요한 개발 환경
이 책의 구성
1부: 리액트 시작하기
2부: 리액트 주무르기
3부: 리액트 애플리케이션 완성하기
예제의 양
이 책의 예제 코드
이 책의 정오표
연락 방법
정리
3장. HTML, JSX, CSS 핵심 정리
준비 작업
HTML 파일과 컴포넌트 준비
예제 실행
HTML과 DOM 엘리먼트의 이해
엘리먼트 콘텐츠의 이해
속성의 이해
HTML 엘리먼트의 동적 생성
리액트 컴포넌트를 사용한 엘리먼트의 동적 생성
리액트 엘리먼트에서의 표현식
표현식과 정적 콘텐츠의 결합
표현식 안에서의 계산
컴포넌트 프로퍼티와 메소드 접근
표현식으로 프로퍼티 값 설정
표현식으로 이벤트 처리
부트스트랩 소개
기본 부트스트랩 클래스 적용
부트스트랩으로 그리드 생성
부트스트랩으로 테이블 스타일 적용
부트스트랩으로 폼 스타일 적용
정리
4장. 자바스크립트 핵심 정리
준비 작업
자바스크립트 구문
자바스크립트 함수
파라미터가 있는 함수
결과를 리턴하는 함수
다른 함수의 인자로 함수 사용
변수와 타입
기본 데이터 타입
자바스크립트 연산자
조건문
등치 연산자와 일치 연산자
명시적 타입 변환
배열
배열 리터럴
배열 콘텐츠의 읽기와 변경
배열 콘텐츠 열거
스프레드 연산자
배열의 내장 메소드
객체
객체 리터럴
메소드로서의 함수
클래스
다른 객체로 프로퍼티 복사
명명된 파라미터로 프로퍼티 읽기
자바스크립트 모듈
자바스크립트 모듈의 생성과 사용
명명된 기능 내보내기
여러 개의 명명된 기능 정의하기
자바스크립트 프로미스
비동기 작업의 문제점
프로미스 사용하기
비동기 작업을 다루는 쉬운 방법
정리
5장. SportsStore: 현실적인 애플리케이션
프로젝트 준비
추가 패키지 설치
CSS 스타일시트 추가
웹 서비스 준비
예제 애플리케이션 실행
데이터 스토어
데이터 스토어 액션과 액션 생성자
쇼핑 기능 만들기
상품과 카테고리 컴포넌트 제작
데이터 스토어 및 URL 라우터 연결
애플리케이션에 Shop 추가
카테고리 버튼 개선
쇼핑 카트 추가
데이터 스토어 확장
CartSummary 컴포넌트 추가
CartDetails 컴포넌트 추가
라우팅 설정에 카트 URL 추가
정리
6장. SportsStore: REST와 결제 시스템
준비 작업
RESTful 웹 서비스
설정 파일 만들기
데이터 소스 생성
데이터 스토어 확장
액션 생성자 수정
페이지네이션
웹 서비스 페이지네이션
HTTP 요청과 액션 변경
데이터 로딩 컴포넌트 제작
ShopConnector 컴포넌트 수정
카테고리 버튼 수정
페이지네이션 제어
결제 처리 시스템
REST 데이터 소스와 데이터 스토어 확장
결제 폼 제작
ShopConnector 컴포넌트 다듬기
정리
7장. SportsStore: 관리자 기능
준비 작업
예제 애플리케이션 실행
그래프QL 서비스 제작
그래프QL 스키마 정의
그래프QL 리졸버 정의
서버 갱신
주문 관리 기능
주문 테이블 컴포넌트 정의
커넥터 컴포넌트 정의
그래프QL 클라이언트 구성
뮤테이션 설정
상품 관리 기능
상품 테이블 컴포넌트 연결
상품 편집 컴포넌트 제작
라우팅 설정 추가
정리
8장. SportsStore: 인증과 배포
준비 작업
그래프QL 요청에 대한 인증
인증 시스템의 이해
인증 컨텍스트 생성
인증 폼 만들기
관리자 기능의 보호
관리자 기능으로의 내비게이션 링크 추가하기
애플리케이션 배포 준비
관리자 기능에 지연 로딩 적용
데이터 파일 만들기
요청 URL 변경
애플리케이션 빌드
애플리케이션 서버 제작
배포 버전과 서버 테스트
SportsStore 애플리케이션의 컨테이너화
도커 설치
애플리케이션 준비
도커 컨테이너 생성
애플리케이션 실행
정리
2부. 리액트 주무르기
9장. 리액트 프로젝트의 이해
준비 작업
리액트 프로젝트의 구조
소스 코드 폴더
패키지 폴더
리액트 개발 도구
컴파일과 변환 과정의 이해
개발 HTTP 서버
정적 콘텐츠
에러 디스플레이
린터의 이해
개발 도구 설정
디버깅
애플리케이션의 상태 조사
브라우저 디버거 사용하기
정리
10장. 컴포넌트와 props
준비 작업
컴포넌트의 이해
HTML 콘텐츠 렌더링
다른 컴포넌트의 렌더링
props의 이해
부모 컴포넌트에서 props 정의
자식 컴포넌트에서 props 받기
자바스크립트와 props의 조합
콘텐츠의 조건부 렌더링
배열 렌더링
복수의 엘리먼트 렌더링
렌더링하지 않기
props 변경 시도
함수 props
함수 prop에 인자 사용
자식 컴포넌트에 props 전달
props 일괄 전달
기본 prop 값 제공
prop 값의 타입 검사
정리
11장. 상태 유지 컴포넌트
준비 작업
컴포넌트 유형의 이해
무상태 컴포넌트의 이해
상태 유지 컴포넌트의 이해
상태 유지 컴포넌트 제작
컴포넌트 클래스의 이해
import 구문의 이해
render 메소드의 이해
상태 유지 컴포넌트 props의 이해
상태 데이터 추가
상태 데이터 읽기
상태 데이터 변경
상태 데이터 변경의 함정
훅을 사용한 상태 유지 컴포넌트
상태 데이터 끌어올리기
상태 데이터 더 끌어올리기
prop 타입과 기본값 정의
정리
12장. 이벤트
준비 작업
이벤트의 이해
이벤트 처리 메소드 사용
이벤트 객체의 이해
이벤트 핸들러 호출에 커스텀 인자 사용
기본 동작 취소
이벤트 전파
타깃 단계와 버블 단계
캡처 단계
이벤트 단계 판별
이벤트 전파 중단
정리
13장. 재조정과 생명주기
준비 작업
예제 컴포넌트 작성
콘텐츠 렌더링에 대한 이해
갱신 과정의 이해
재조정 과정의 이해
목록 재조정의 이해
명시적 재조정
컴포넌트 생명주기
마운트 단계
업데이트 단계
언마운트 단계
이펙트 훅
고급 생명주기 메소드
불필요한 컴포넌트 업데이트의 방지
props 값으로부터 상태 데이터 갱신
정리
14장. 애플리케이션 컴포지션
준비 작업
예제 컴포넌트 작성
기본 컴포넌트 관계
children prop 사용하기
children prop 다루기
특성화 컴포넌트
고차 컴포넌트
상태 유지 HOC
HOC의 조합
렌더링 prop
인자가 있는 렌더링 prop
전역 데이터를 위한 컨텍스트
컨텍스트 정의
컨텍스트 소비자
컨텍스트 제공자
컨텍스트 데이터 변경
컨텍스트 API 사용
에러 경계
에러 경계 컴포넌트
정리
15장. 폼과 데이터 검증
준비 작업
예제 컴포넌트 작성
개발 도구 실행
폼 엘리먼트 사용
select 엘리먼트
라디오 버튼
체크박스
체크박스를 사용한 배열 채우기
텍스트 영역
폼 데이터 검증
검증 규칙 정의
컨테이너 컴포넌트 제작
검증 메시지 표시
폼 검증 적용
그 밖의 엘리먼트와 데이터 타입의 검증
폼에 특정적인 검증
정리
16장. ref와 포털
준비 작업
ref 생성
비제어 폼 컴포넌트
콜백 함수를 사용한 ref 생성
비제어 폼 컴포넌트의 검증
ref와 생명주기
다른 라이브러리나 프레임워크를 위한 ref
자식 컴포넌트의 콘텐츠에 접근
ref 포워딩
포털
정리
17장. 유닛 테스트
준비 작업
컴포넌트 작성
예제 애플리케이션 실행
간단한 유닛 테스트
얕은 렌더링을 사용한 컴포넌트 테스트
전체 렌더링을 사용한 컴포넌트 테스트
props, 상태, 메소드, 이벤트를 사용한 테스트
메소드 테스트
이벤트 테스트
컴포넌트 상호작용 테스트
정리
3부. 리액트 애플리케이션 완성하기
18장. 온전한 애플리케이션 제작
프로젝트 생성
개발 도구 실행
예제 애플리케이션 작성
상품 관련 개발
공급업체 관련 개발
애플리케이션 완성하기
예제 애플리케이션의 한계
정리
19장. 리덕스 데이터 스토어
준비 작업
데이터 스토어 생성
데이터 타입 정의
초기 데이터 정의
액션 타입 정의
액션 생성자 정의
리듀서 정의
데이터 스토어 생성
데이터 스토어 사용
최상위 컴포넌트에 데이터 스토어 적용
상품 데이터 연결
공급업체 데이터 연결
데이터 스토어 확장
스토어에 상태 데이터 추가
액션 타입과 액션 생성자 정의
리듀서 정의
스토어에 상태 데이터 기능 통합
컴포넌트와 상태 데이터 연결
복수의 액션 디스패치
참조의 필요성
정리
20장. 데이터 스토어 API
준비 작업
리덕스 데이터 스토어 API
데이터 스토어 상태 취득
데이터 스토어의 변경 감시
액션 디스패치
커넥터 컴포넌트 제작
리듀서 개선
데이터 스토어 미들웨어
데이터 스토어 개선
개선자 적용
리액트 리덕스 API
고급 연결 기능
정리
21장. URL 라우팅
준비 작업
URL 라우팅 시작하기
Link 컴포넌트
Route 컴포넌트
내비게이션에 대한 응답
컴포넌트와 콘텐츠 선택
URL 매칭
단일 Route 매칭
리다이렉션 사용
내비게이션 링크 렌더링
활성화된 링크 표시
라우터 선택
HashRouter 컴포넌트
정리
22장. 고급 URL 라우팅
준비 작업
라우팅 인식 컴포넌트
match prop
location prop
URL 파라미터 사용
다른 컴포넌트에서 라우팅 데이터 접근
라우팅 데이터의 직접 접근
HOC를 사용한 라우팅 데이터 접근
프로그래밍 방식의 내비게이션
컴포넌트를 사용한 프로그래밍 방식의 내비게이션
내비게이션의 사용자 확정
프로그래밍 방식의 라우트 생성
데이터 스토어 컴포넌트와 함께 라우팅 사용
디스플레이 컴포넌트 교체
편집기 컴포넌트 수정
테이블 컴포넌트 수정
라우팅 설정의 마무리
정리
23장. RESTful 웹 서비스
준비 작업
프로젝트에 패키지 추가
웹 서비스 준비
컴포넌트와 라우트 추가
웹 서비스와 예제 애플리케이션 실행
RESTful 웹 서비스의 이해
웹 서비스 소비하기
데이터 소스 컴포넌트 제작
컴포넌트에서 데이터 가져오기
데이터의 저장, 갱신, 삭제
에러 처리
데이터 스토어와 함께 웹 서비스 소비하기
신규 미들웨어 제작
데이터 스토어에 미들웨어 추가
애플리케이션 완성
정리
24장. 그래프QL의 이해
준비 작업
그래프QL의 이해
그래프QL 서버 제작
스키마 작성
리졸버 제작
서버 제작
그래프QL 쿼리 작성
연관 데이터 질의
인자를 사용한 쿼리
그래프QL 뮤테이션
그 밖의 그래프QL 기능
요청 변수
다중 요청
쿼리 프래그먼트
정리
25장. 그래프QL 소비하기
준비 작업
패키지 추가
그래프QL 서버를 위한 데이터 변경
스키마와 리졸버 갱신
그래프QL 서버에 개발 도구 통합
그래프QL 서비스 소비하기
쿼리와 뮤테이션 정의
데이터 소스 정의
격리된 컴포넌트 설정
데이터 스토어와 함께 그래프QL 사용
그래프QL 데이터 형식 조정
그래프QL 클라이언트 프레임워크
클라이언트 설정
그래프QL 컴포넌트 제작
뮤테이션 사용
공급업체 데이터와 편집 기능 추가






































