1장 출발! 머릿속으로 그리는 리액트
_ 1.1 리액트가 만들어지기 전까지: 웹 개발의 진화
__ 1.1.1 Ajax
__ 1.1.2 제이쿼리(jQuery)
__ 1.1.3 다양한 자바스크립트 프레임워크
__ 1.1.4 페이스북(Facebook)의 고민과 XHP의 등장
_ 1.2 시작하기 전 환경설정
__ 1.2.1 Node 설치
__ 1.2.2 크리에이트 리액트 앱 설치
_ 1.3 리액트의 특징들
__ 1.3.1 선언형(declarative) 개발
__ 1.3.2 컴포넌트 기반의 소프트웨어
__ 1.3.3 Learn Once, Write Anywhere
_ 1.4 코드를 쉽게 읽을 수 있게 JSX에 익숙해지자
__ 1.4.1 JSX란?
__ 1.4.2 JSX 표현
__ 1.4.3 그밖의 JSX 특징
2장 리액트 컴포넌트 제대로 만들기
_ 2.1 리액트 컴포넌트를 만드는 방법
__ 2.1.1 React.createClass 메소드를 호출해서 만들기(deprecated)
__ 2.1.2 ES2015 클래스 상속을 이용해 만들기
__ 2.1.3 암시적 function만으로 컴포넌트 생성
__ 2.1.4 인사이트 얻기
_ 2.2 컴포넌트 생명주기 들여다 보기
__ 2.2.1 mount 될 때
__ 2.2.2 props가 변화될 때
__ 2.2.3 state가 변화될 때
__ 2.2.4 unmount 될 때
_ 2.3 컴포넌트를 만드는 기준
__ 2.3.1 웹 컴포넌트의 기준
__ 2.3.2 리액트 컴포넌트의 기준
__ 2.3.3 무엇을 컴포넌트화 할 것인가?
__ 2.3.4 리액트 공식 페이지에서의 재사용 컴포넌트의 기준
_ 2.4 자바스크립트 코드 재사용의 기술적인 방법
__ 2.4.1 자바스크립트의 OOP에 대한 고찰
__ 2.4.2 자, 이제 믹신(Mixin)
__ 2.4.3 컴포지션(Composition)
3장 React로 프로젝트를 할 때 고려사항들
_ 3.1 새로운 자바스크립트 명세들
__ 3.1.1 자바스크립트의 스코프는 함수 스코프
__ 3.1.2 ECMAScript2015
__ 3.1.3 ECMAScript2016
_ 3.2 테스트는 어떻게 진행할까?
__ 3.2.1 제스트(Jest)
__ 3.2.2 엔자임(Enzyme)
_ 3.3 리액트에서 타입체크하는 세 가지 방법
__ 3.3.1 prop-types
__ 3.3.2 flow
__ 3.3.3 TypeScript
4장 리액트를 지탱하는 기술들
_ 4.1 소프트웨어 자동화와 패키징
__ 4.1.1 패키징 솔루션 npm 그리고 yarn
__ 4.1.2 Module Bundler
_ 4.2 리액트를 돋보이게 하는 프로젝트들
__ 4.2.1 Routing
__ 4.2.2 Redux
__ 4.2.3 서버 사이드 렌더링
__ 4.2.4 이뮤터블(Immutable.js)
_ 4.3 Github에서 참조할 만한 Awesome 프로젝트
__ 4.3.1 리액트 네이티브(React Native)
__ 4.3.2 React Native Desktop 프로젝트
5장 실전! React 프로젝트 스탠드업
_ 5.0 스탠드업 앱 설계와 페르소나
__ 5.0.1 시작!
_ 5.1 1일- Create React App과 gh-pages를 이용한 빌드와 배포
__ 5.1.1 Create React App
_ 5.2 2일 - 기사 편집기(Editor) 만들기 -1
__ 5.2.1 로고, 파비콘 그리고 헤더 작업
__ 5.2.2 기사 편집기 만들기 ? 요건 정의
__ 5.2.3 기사 편집기 만들기 ? 컴포넌트 작성
_ 5.3 3일 - 기사 편집기(Editor) 만들기 - 2
__ 5.3.1 파이어베이스(Firebase)
__ 5.3.2 HTML 편집기 작성
_ 5.4 4일 - 파이어베이스(Firebase)를 이용한 데이터 저장
__ 5.4.1 파이어베이스 DAO(Data Access Object) 만들기
_ 5.5 5일 - Axios, embedly를 이용한 카드형 기사 링크 만들기
__ 5.5.1 사용자 스토리 3
__ 5.5.2 Embed.ly
__ 5.5.3 axios
__ 5.5.4 구슬이 서말이니까 꿰어만 보자
_ 5.6 6일째 - 구글 아이디를 통한 로그인 구현
__ 5.6.1 사용자 스토리4
__ 5.6.2 리액트 라우터(React Router)
__ 5.6.3 Firebase UI Auth
__ 5.6.4 프로필 페이지
__ 5.6.5 리덕스(Redux)를 사용해 보자
__ 5.6.6 전체 데이터를 가져오는 인터페이스 변경
_ 5.7 7일째 - 그룹 만들기
__ 5.7.1 사용자 스토리5
__ 5.7.2 그룹 기능 정의
__ 5.7.3 그룹 만들기
6장 크리에이트 리액트 앱(Create React App) 가이드
_ 6.1 Create React App
__ 1. 새로 릴리즈 버전이 나올때 업데이트 하기
__ 2. 폴더 구조
__ 3. npm script
__ 4. 에디터에서 Lint 출력 메시지 보기
__ 5. 모듈 설치(Installing a Dependency)
__ 6. 컴포넌트 참조(import)
__ 7. 스타일 시트 작업하기
__ 8. 후처리(Post-Processing) CSS
__ 9. 이미지와 Font 더하기
__ 10. public 폴더 사용하기
__ 11. Bootstrap 활용하기
__ 12. flow 사용하기
__ 13. 커스텀 환경 변수
__ 14. Shell에서 지정하기
__ 15. Decorator 사용하기
__ 16. HTTPS 사용하기
__ 17. Test 환경을 만들기
__ 18. Continuous Integration
__ 19. 배포
부록 리액트 v16 변경사항
_ 1. render 함수의 리턴값이 배열로 변경
_ 2. 에러 상태에서의 상태 처리의 변경과 에러 바운더리
_ 3. 포탈
_ 4. 그 외의 것들