Chapter 2. Your first Redux application
2.1. Building a task-management application
2.4. Revisiting the Redux architecture
2.5. Configuring the Redux store
2.6. Connecting Redux and React with react-redux
2.6.1. Adding the Provider component
2.9. Handling actions with reducers
Chapter 3. Debugging Redux applications
3.1. Introducing the Redux DevTools
3.3. Visualizing changes with DevTools monitors
3.4. Implementing the Redux DevTools
4.2. Invoking async actions with redux-thunk
4.3. Saving tasks to the server
5.3. Example: logging middleware
5.4. Example: analytics middleware
5.4.2. Adding analytics middleware
Chapter 6. Handling complex side effects
6.5.1. Connecting saga middleware to the store
6.6. Handling long-running processes
6.6.2. Updating the user interface
6.6.4. Writing a long-running saga
6.9. Additional side-effect management strategies
6.9.1. Asynchronous functions with async/await
Chapter 7. Preparing data for components
7.1. Decoupling Redux from React components
7.3.2. Local state versus Redux state
7.3.3. Dispatching a filter action
Chapter 8. Structuring a Redux store
8.1. How should I store data in Redux?
8.2. An introduction to normalized data
8.3. Implementing projects with nested data
8.3.1. Overview: fetching and rendering projects
8.3.2. Updating the server with projects
8.3.3. Adding and dispatching fetchProjects
8.3.5. Updating mapStateToProps and selectors
8.4. Normalizing projects and tasks
Chapter 9. Testing Redux applications
9.1. Introduction to testing tools
9.1.1. What does Jasmine provide?
9.2. How does testing Redux differ from React?
10.1. Performance-assessment tools
10.3.1. Connecting the right components
10.3.3. Connecting additional components to Redux
10.3.4. Adding connect to Header and TasksPage
10.3.5. mapStateToProps and memoized selectors
Chapter 11. Structuring Redux code
Chapter 12. Redux beyond React
12.1. Mobile Redux: React Native
3.147.43.136