Chapter 1, Understanding Redux, provides a detailed overview of Redux, its fundamental principles, and a unified approach to the Redux echo system. In addition to this, we will discuss the Redux life cycle, action creators, Redux, and Redux Store. We will discuss in detail the need for these components in the management of state. Finally, we will initiate our project and set up Node.js, webpack, Babel, Redux, and Yarn.
Chapter 2, Testing, follows the TDD approach to developing single page applications. In this chapter, we will discuss why the TDD approach is efficient in building scalable systems. We will also explore how we can set up JEST for testing and how we can use JEST to test React, Redux, Redux Sage, Reducers, and other components.
Chapter 3, Routing, examines routing and the need for it. We will then explore the use of react-router-dom and its functions. We will create a list of routes that we will need in order to create our application. In addition, we will configure react-router-redux in our application and explore the differences between react-router-dom and react-router-redux. Finally, we will explore routing on the server site and create the routes required for our application.
Chapter 4, Concept of Immutability, deals with immutability and its importance. We will set up Immutable JS in our application and convert our reducers to stores in the Immutable JS architecture. We will be using some of the most common data structures, such as Map, List, Set, and OrderedList from the Immutable JS framework. Finally, we will explore how Immutable JS can be tested.
Chapter 5, React with Redux, deals with building interactive component using ReactJS. Moreover, we will be connecting React with Redux, understanding the component life cycle, and the various states in React, as well as the various performance parameters of React components. Finally, we will continue our application and add user interfaces using ReactJS, Redux Form, and Ant Design.
Chapter 6, Extending Redux by Middleware, explores middleware and the need for it. In addition, we will continue our application and add three important middlewares to our application, including Redux Store middleware, Redux Saga middleware, and language middleware. We will explore other aspects of Redux Saga and discuss how it can be used in handling side effects.
Chapter 7, Debugging Redux, examines the concept of debugging and the types of tools we can use in order to debug our application. It is highly unlikely that the user will code everything with one hundred percent accuracy. Errors may include logical errors, syntax errors, or semantic errors. Understanding errors from the browser, library, or server is a very important skill. Here, we will explore how we can integrate Redux Dev tools. In addition, we will integrate Hot Module Reloading and explore its benefits. Finally, we will learn about using Redux Dev tools.
Chapter 8, Understanding the REST API, covers the setting up of our API server and creating the API required for our application. We will create GET, POST, PUT, and DELETE routes for our required module. We will explore a modern approach to structuring our server site components in terms of Model, Controller, Helper, and utilities' functions. We will explore the use of Node.js with Express to build the RESTful API components. Finally, we will explore the possibilities of extending the application for the purpose of further research, such as deployment, and optimization.