실전 리액트 프로그래밍
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
리액트 훅으로 구현된 실전 예제를 통해 활용법을 익힌다!
리액트 훅의 개념과 실제 활용할 때 도움이 되는 고급 활용법을 알아본 후 리덕스, 바벨, 웹팩까지 다룬다. 서버사이드 렌더링의 개념과 Next.js 프로젝트를 구축하는 방법을 살펴본 후 타입스크립트를 이용해 리액트 코드를 작성한다. 추후 리액트에 추가될 것으로 예상되는 concurrent 모드까지 다뤄서 다가올 변화에도 대비한다.
이 책에서 다루는 내용
● 리액트의 사용법과 핵심 원리
● 리액트 개발 환경을 직접 구축하는 방법
● 서버사이드 렌더링의 주요 개념에 대한 이해와 응용
● 정적 타입인 타입스크립트를 이용해 리액트 코드를 작성하는 방법
● 리덕스로 상태를 관리하는 방법
● 클래스형 컴포넌트를 사용하는 레거시 프로젝트 다루기
● 논블로킹 렌더링을 가능하게 해 주는 concurrent 모드
작가정보
대학교 1학년 때 C 언어를 처음 배우면서 터미널에서 동작하는 테트리스를 밤새며 만들었다. 맙소사! 세상에 이렇게 재밌는 게 있다니. 대학원에서 석사 과정을 밟던 중 연구보다는 제품을 만드는 엔지니어가 적성에 맞는다는 것을 확실히 깨닫고, 리액트를 통해 웹 프론트엔드 개발자로 전향했다. 리액트에 빠져 지내다 보니 리액트 공식 프로젝트에 보낸 PR이 머지되는 경험도 했다. 블로그에 쓴 ‘카카오페이지 웹 React 포팅 후기’라는 글이 많이 읽히기도 했다. 요즘은 카카오페이지 해외 버전 웹 개발에 집중하고 있다.
목차
- 1장 리액트 프로젝트 시작하기
1.1 리액트란 무엇인가
1.2 리액트 개발 환경 직접 구축하기
1.2.1 Hello World 페이지 만들기
1.2.2 바벨 사용해 보기
1.2.3 웹팩의 기본 개념 이해하기
1.2.4 웹팩 사용해 보기
1.3 create-react-app으로 시작하기
1.3.1 create-react-app 사용해 보기
1.3.2 주요 명령어 알아보기
1.3.3 자바스크립트 지원 범위
1.3.4 코드 분할하기
1.3.5 환경 변수 사용하기
1.4 CSS 작성 방법 결정하기
1.4.1 일반적인 CSS 파일로 작성하기
1.4.2 css-module로 작성하기
1.4.3 Sass로 작성하기
1.4.4 css-in-js로 작성하기
1.5 단일 페이지 애플리케이션 만들기
1.5.1 브라우저 히스토리 API
1.5.2 react-router-dom 사용하기
2장 ES6+를 품은 자바스크립트, 매력적인 언어가 되다
2.1 변수를 정의하는 새로운 방법: const, let
2.1.1 var가 가진 문제
2.1.2 var의 문제를 해결하는 const, let
2.2 객체와 배열의 사용성 개선
2.2.1 객체와 배열을 간편하게 생성하고 수정하기
2.2.2 객체와 배열의 속성값을 간편하게 가져오기
2.3 강화된 함수의 기능
2.3.1 매개변수에 추가된 기능
2.3.2 함수를 정의하는 새로운 방법: 화살표 함수
2.4 향상된 비동기 프로그래밍 1: 프로미스
2.4.1 프로미스 이해하기
2.4.2 프로미스 활용하기
2.4.3 프로미스 사용 시 주의할 점
2.5 향상된 비동기 프로그래밍 2: async await
2.5.1 async await 이해하기
2.5.2 async await 활용하기
2.6 템플릿 리터럴로 동적인 문자열 생성하기
2.7 실행을 멈출 수 있는 제너레이터
2.7.1 제너레이터 이해하기
2.7.2 제너레이터 활용하기
3장 중요하지만 헷갈리는 리액트 개념 이해하기
3.1 상탯값과 속성값으로 관리하는 UI 데이터
3.1.1 리액트를 사용한 코드의 특징
3.1.2 컴포넌트의 속성값과 상탯값
3.1.3 컴포넌트 함수의 반환값
3.2 리액트 요소와 가상 돔
3.2.1 리액트 요소 이해하기
3.2.2 리액트 요소가 돔 요소로 만들어지는 과정
3.3 리액트 훅 기초 익히기
3.3.1 상탯값 추가하기: useState
3.3.2 컴포넌트에서 부수 효과 처리하기: useEffect
3.3.3 훅 직접 만들기
3.3.4 훅 사용 시 지켜야 할 규칙
3.4 콘텍스트 API로 데이터 전달하기
3.4.1 콘텍스트 API 이해하기
3.4.2 콘텍스트 API 활용하기
3.4.3 콘텍스트 API 사용 시 주의할 점
3.5 ref 속성값으로 자식 요소에 접근하기
3.5.1 ref 속성값 이해하기
3.5.2 ref 속성값 활용하기
3.5.3 ref 속성값 사용 시 주의할 점
3.6 리액트 내장 훅 살펴보기
3.6.1 Consumer 컴포넌트 없이 콘텍스트 사용하기: useContext
3.6.2 렌더링과 무관한 값 저장하기: useRef
3.6.3 메모이제이션 훅: useMemo, useCallback
3.6.4 컴포넌트의 상탯값을 리덕스처럼 관리하기: useReducer
3.6.5 부모 컴포넌트에서 접근 가능한 함수 구현하기: useImperativeHandle
3.6.6 기타 리액트 내장 훅: useLayoutEffect, useDebugValue
4장 리액트 실전 활용법
4.1 가독성과 생산성을 고려한 컴포넌트 코드 작성법
4.1.1 추천하는 컴포넌트 파일 작성법
4.1.2 속성값 타입 정의하기: prop-types
4.1.3 가독성을 높이는 조건부 렌더링 방법
4.1.4 관심사 분리를 위한 프레젠테이션, 컨테이너 컴포넌트 구분하기
4.2 useEffect 훅 실전 활용법
4.2.1 의존성 배열을 관리하는 방법
4.2.2 의존성 배열을 없애는 방법
4.3 렌더링 속도를 올리기 위한 성능 최적화 방법
4.3.1 React.memo로 렌더링 결과 재사용하기
4.3.2 속성값과 상탯값을 불변 변수로 관리하는 방법
4.3.3 가상 돔에서의 성능 최적화
5장 레거시 프로젝트를 위한 클래스형 컴포넌트
5.1 클래스형 컴포넌트의 생명 주기 메서드
5.1.1 constructor 메서드
5.1.2 getDerivedStateFromProps 메서드
5.1.3 render 메서드
5.1.4 componentDidMount 메서드
5.1.5 shouldComponentUpdate 메서드
5.1.6 getSnapshotBeforeUpdate 메서드
5.1.7 componentDidUpdate 메서드
5.1.8 componentWillUnmount 메서드
5.1.9 getDerivedStateFromError, componentDidCatch 메서드
5.2 클래스형 컴포넌트 기본 사용법
5.2.1 setState 메서드 이해하기
5.2.2 클래스 필드를 이용해 이벤트 처리 메서드 작성하기
5.2.3 생명 주기 메서드에서 컨텍스트 데이터 사용하기
5.3 컴포넌트의 공통 기능 관리하기
5.3.1 고차 컴포넌트를 이용한 공통 기능 관리
5.3.2 렌더 속성값을 이용한 공통 기능 관리
5.4 클래스형 컴포넌트와 훅의 관계
5.5 클래스형 컴포넌트를 훅으로 변환하기
5.5.1 constructor 메서드
5.5.2 componentDidUpdate 메서드
5.5.3 getDerivedStateFromProps 메서드
5.5.4 forceUpdate 메서드
5.6 기존 클래스형 컴포넌트를 고려한 커스텀 훅 작성법
5.6.1 커스텀 훅의 반환값이 없는 경우
5.6.2 커스텀 훅의 반환값이 있는 경우
6장 리덕스로 상태 관리하기
6.1 리덕스 사용 시 따라야 할 세 가지 원칙
6.2 리덕스의 주요 개념 이해하기
6.2.1 액션
6.2.2 미들웨어
6.2.3 리듀서
6.2.4 스토어
6.3 데이터 종류별로 상탯값 나누기
6.3.1 상탯값 나누기 예제를 위한 사전 작업
6.3.2 리듀서에서 공통 기능 분리하기
6.4 리액트 상탯값을 리덕스로 관리하기
6.4.1 react-redux 패키지 없이 직접 구현하기
6.4.2 react-redux 패키지 사용하기
6.5 reselect 패키지로 선택자 함수 만들기
6.5.1 reselect 패키지 없이 구현해 보기
6.5.2 reselect 패키지 사용하기
6.5.3 reselect에서 컴포넌트의 속성값 이용하기
6.5.4 컴포넌트 인스턴스별로 독립된 메모이제이션 적용하기
6.6 리덕스 사가를 이용한 비동기 액션 처리
6.6.1 리덕스 사가 시작하기
6.6.2 여러 개의 액션이 협업하는 사가 함수
6.6.3 사가 함수의 예외 처리
6.6.4 리덕스 사가로 디바운스 구현하기
6.6.5 사가 함수 테스트하기
7장 바벨과 웹팩 자세히 들여다보기
7.1 바벨 실행 및 설정하기
7.1.1 바벨을 실행하는 여러 가지 방법
7.1.2 확장성과 유연성을 고려한 바벨 설정 방법
7.1.3 전체 설정 파일과 지역 설정 파일
7.1.4 바벨과 폴리필
7.2 바벨 플러그인 제작하기
7.2.1 AST 구조 들여다보기
7.2.2 바벨 플러그인의 기본 구조
7.2.3 바벨 플러그인 제작하기: 모든 콘솔 로그 제거
7.2.4 바벨 플러그인 제작하기: 함수 내부에 콘솔 로그 추가
7.3 웹팩 초급편
7.3.1 웹팩 실행하기
7.3.2 로더 사용하기
7.3.3 플러그인 사용하기
7.4 웹팩 고급편
7.4.1 나무 흔들기
7.4.2 코드 분할
7.4.3 로더 제작하기
7.4.4 플러그인 제작하기
8장 서버사이드 렌더링 그리고 Next.js
8.1 서버사이드 렌더링 초급편
8.1.1 클라이언트에서만 렌더링해 보기
8.1.2 서버사이드 렌더링 함수 사용해 보기: renderToString
8.1.3 서버 데이터를 클라이언트로 전달하기
8.1.4 스타일 적용하기
8.1.5 이미지 모듈 적용하기
8.2 서버사이드 렌더링 고급편
8.2.1 페이지를 미리 렌더링하기
8.2.2 서버사이드 렌더링 캐싱하기
8.2.3 서버사이드 렌더링 함수 사용해 보기: renderToNodeStream
8.3 넥스트 초급편
8.3.1 넥스트 시작하기
8.3.2 웹팩 설정 변경하기
8.3.3 서버에서 생성된 데이터를 전달하기
8.3.4 페이지 이동하기
8.3.5 에러 페이지 구현하기
8.4 넥스트 고급편
8.4.1 페이지 공통 기능 구현하기
8.4.2 넥스트에서의 코드 분할
8.4.3 웹 서버 직접 띄우기
8.4.4 서버사이드 렌더링 캐싱하기
8.4.5 페이지 미리 렌더링하기
8.4.6 styled-components 사용하기
9장 정적 타입 그리고 타입스크립트
9.1 타입스크립트란?
9.1.1 동적 타입 언어와 정적 타입 언어
9.1.2 타입스크립트의 장점
9.1.3 실습을 위한 준비
9.2 타입스크립트의 여러 가지 타입
9.2.1 타입스크립트의 다양한 타입
9.2.2 열거형 타입
9.2.3 함수 타입
9.3 인터페이스
9.3.1 인터페이스로 객체 타입 정의하기
9.3.2 인터페이스로 정의하는 인덱스 타입
9.3.3 그 밖에 인터페이스로 할 수 있는 것
9.4 타입 호환성
9.4.1 숫자와 문자열의 타입 호환성
9.4.2 인터페이스의 타입 호환성
9.4.3 함수의 타입 호환성
9.5 타입스크립트 고급 기능
9.5.1 제네릭
9.5.2 맵드 타입
9.5.3 조건부 타입
9.6 생산성을 높이는 타입스크립트의 기능
9.6.1 타입 추론
9.6.2 타입 가드
9.7 타입스크립트 환경 구축하기
9.7.1 create-react-app과 넥스트에서 타입스크립트 사용하기
9.7.2 프레임워크를 사용하지 않고 타입스크립트 환경 구축하기
9.7.3 기타 환경 설정하기
9.8 리액트에 타입 적용하기
9.8.1 리액트 컴포넌트에서 타입 정의하기
9.8.2 리덕스에서 타입 정의하기
10장 다가올 리액트의 변화: concurrent 모드
10.1 블로킹 vs. 논블로킹 렌더링
10.2 작업의 우선순위를 통한 효율적인 CPU 사용
10.3 서스펜스로 가능해진 컴포넌트 함수 내 비동기 처리
10.3.1 컴포넌트 함수 내에서 비동기로 모듈 가져오기
10.3.2 컴포넌트 함수 내에서 API로 데이터 받기
기본정보
ISBN | 9788966262670 ( 8966262678 ) | ||
---|---|---|---|
발행(출시)일자 | 2020년 07월 13일 | ||
쪽수 | 524쪽 | ||
크기 |
188 * 240
* 30
mm
/ 1003 g
|
||
총권수 | 1권 | ||
이 책의 개정정보 |
가장 최근에 출시된 개정판입니다.
구판보기
|
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립