1.2. The problem that React solves
1.5. How React can fit into your web applications
1.5.1. React libraries and rendering targets
Chapter 2. Baby steps with React
Chapter 3. Introduction to JSX
3.1. What is JSX, and what are its benefits?
3.2.1. Creating elements with JSX
3.2.2. Working with JSX in components
3.2.3. Outputting variables in JSX
3.2.4. Working with properties in JSX
3.3. Setting up a JSX transpiler with Babel
Chapter 4. Making React interactive with states
4.1. What are React component states?
Chapter 5. React component lifecycle events
5.1. A bird’s-eye view of React component lifecycle events
5.4. Executing all events together
5.6.1. componentWillReceiveProps(newProps)
Chapter 6. Handling events in React
6.1. Working with DOM events in React
6.1.1. Capture and bubbling phases
6.1.2. React events under the hood
6.1.3. Working with the React SyntheticEvent event object
6.2. Responding to DOM events not supported by React
6.3. Integrating React with other libraries: jQuery UI events
Chapter 7. Working with forms in React
7.1. The recommended way to work with forms in React
7.2. Alternative ways to work with forms
7.2.1. Uncontrolled elements with change capturing
7.2.2. Uncontrolled elements without capturing changes
Chapter 8. Scaling React components
8.1. Default properties in components
8.2. React property types and validation
8.4. Creating React higher-order components for code reuse
8.4.1. Using displayName: distinguishing child components from their parent
8.4.2. Using the spread operator: passing all of your attributes
8.5. Best practices: presentational vs. container components
Chapter 9. Project: Menu component
9.1. Project structure and scaffolding
9.2. Building the menu without JSX
9.3.1. Refactoring the Menu component
Chapter 10. Project: Tooltip component
10.1. Project structure and scaffolding
Chapter 11. Project: Timer component
11.1. Project structure and scaffolding
Chapter 12. The Webpack build tool
12.2. Adding Webpack to a project
12.4. Running Webpack and testing the build
13.1. Implementing a router from scratch
13.1.1. Setting up the project
13.2.1. React Router’s JSX style
13.3.1. Accessing router with the withRouter higher-order component
13.3.2. Navigating programmatically
Chapter 14. Working with data using Redux
14.1. React support for unidirectional data flow
14.2. Understanding the Flux data architecture
14.3. Using the Redux data library
14.3.2. Dependencies and configs
14.3.9. Connecting components to the store
14.3.10. Dispatching an action
14.3.11. Passing action creators into component properties
Chapter 15. Working with data using GraphQL
15.2. Adding a server to the Netflix clone
15.2.1. Installing GraphQL on a server
15.2.4. Querying the API and saving the response into the store
Chapter 16. Unit testing React with Jest
16.2. Why Jest (vs. Mocha or others)?
16.4. UI testing React with Jest and TestUtils
16.4.1. Finding elements with TestUtils
Chapter 17. React on Node and Universal JavaScript
17.1. Why React on the server? And what is Universal JavaScript?
17.1.2. Better performance with faster loading times
17.3. React and Express: rendering on the server side from components
17.4. Universal JavaScript with Express and React
17.4.1. Project structure and configuration
17.4.3. Server-side layout templates with Handlebars
17.4.4. Composing React components on the server
Chapter 18. Project: Building a bookstore with React Router
18.1. Project structure and Webpack configuration
Chapter 19. Project: Checking passwords with Jest
19.1. Project structure and Webpack configuration
19.3. Implementing a strong password module
19.4. Implementing the Password component
Chapter 20. Project: Implementing autocomplete with Jest, Express, and MongoDB
20.1. Project structure and Webpack configuration
20.2. Implementing the web server
20.3. Adding the browser script
20.4. Creating the server template
20.5. Implementing the Autocomplete component
Appendix A. Installing applications used in this book
Using Babel to compile JSX and ES6
Sequence of lifecycle events (inspired by http://react.tips)
Component properties and methods
Appendix C. Express.js cheatsheet
Appendix D. MongoDB and Mongoose cheatsheet
3.19.31.73