Integrate Redux with React and other front-end JavaScript frameworks efficiently and manage application states effectively
Key Features
- Get better at building web applications with state management using Redux
- Learn the fundamentals of Redux to structure your app more efficiently
- This guide will teach you develop complex apps that would be easier to maintain
Book Description
Starting with a detailed overview of Redux, we will follow the test-driven development (TDD) approach to develop single-page applications. We will set up JEST for testing and use JEST to test React, Redux, Redux-Sage, Reducers, and other components. We will then add important middleware and set up immutableJS in our application. We will use common data structures such as Map, List, Set, and OrderedList from the immutableJS framework. We will then add user interfaces using ReactJS, Redux-Form, and Ant Design.
We will 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, and explore routing on the server site and create the required routes for our application. We will then debug our application and integrate Redux Dev tools.
We will then set up our API server and create the API required for our application. We will dive into a modern approach to structuring our server site components in terms of Model, Controller, Helper functions, and utilities functions. We will explore the use of NodeJS with Express to build the REST API components. Finally, we will venture into the possibilities of extending the application for further research, including deployment and optimization.
What you will learn
- Follow the test-driven development (TDD) approach to develop a single-page application
- Add important middleware, such as Redux store middleware, redux-saga middleware, and language middleware, to your application
- Understand how to use immutableJS in your application
- Build interactive components using ReactJS
- Configure react-router-redux and explore the differences between react-router-dom and react-router-redux
- Use Redux Dev tools to debug your application
- Set up our API server and create the API required for our application
Who this book is for
This book is meant for JavaScript developers interesting in learning state management and building easy to maintain web applications.
Table of Contents
- Understanding Redux
- Testing
- Routing
- The Concept of Immutability
- React with Redux
- Extending Redux with Middleware
- Debugging Redux
- Understanding the REST API
James Lee is a passionate software wizard working at one of the top Silicon Valley-based start-ups specializing in big data analysis. In the past, he has worked at big companies such as Google and Amazon. In his day job, he works with big data technologies, including Cassandra and Elasticsearch, and is an absolute Docker technology geek and IntelliJ IDEA lover with a strong focus on efficiency and simplicity. Apart from his career as a software engineer, he is keen on sharing his knowledge with others and guiding them, especially in relation to start-ups and programming. He has been teaching courses and conducting workshops on Java programming / IntelliJ IDEA since he was 21. James holds an MS degree in computer science from McGill University and has many years' experience as a teaching assistant in a variety of computer science classes. He also enjoys skiing and swimming, and is a passionate traveler.
Tao Wei is a passionate software engineer who works in a leading Silicon Valley-based big data analysis company. Previously, Tao worked in big IT companies, such as IBM and Cisco. He has intensive experience in designing and building distributed, large-scale systems with proven high availability and reliability. Tao has an MS degree in computer science from McGill University and many years of experience as a teaching assistant in various computer science classes. When not working, he enjoys reading and swimming, and is a passionate photographer.
Suresh Kumar Mukhiya is a PhD candidate currently associated with Western Norway University of Applied Sciences (HVL). He is also a web application developer and big data enthusiast specializing in information systems, model-driven software engineering, big data analysis, and artificial intelligence. He has completed a masters in information systems from the Norwegian University of Science and Technology, along with a thesis in processing mining. He also holds a bachelor's degree in computer science and information technology (BSc.CSIT).