Understanding the Redux Pattern

Learn to understand the Redux pattern in this section.

We'll cover the following

Redux is a predictable state container that can be used in React apps. In this section, we’ll start by going through the three principles in Redux before understanding the benefits of Redux and the situations it works well in. Then, we will dive into the core concepts so that we understand the terminology and the steps that happen as the state is updated. By doing this, we will be well equipped to implement Redux in our app.

Principles

Let’s take a look at the three principles of Redux:

  1. Single source of truth: This means that the whole application state is stored in a single object. In a real app, this object is likely to contain a complex tree of nested objects.

  2. The state is read-only: This means that the state can’t be changed directly. In Redux, the only way to change the state is to dispatch what’s called an action.

  3. Changes are made with pure functions: The functions that are responsible for changing the state are called reducers.

Redux shines when many components need access to the same data because the state and its interactions are stored in a single place. Having the state read-only and only updatable with a function makes the interactions easier to understand and debug. It is particularly useful when many components are interacting with the state, and some of the interactions are asynchronous.

In the following sections, we’ll dive into actions and reducers a little more, along with the thing that manages them, which is called a store.

Key concepts

The whole state of the application lives inside what is called a store. The state is stored in a JavaScript object like the following one:

Get hands-on with 1200+ tech skills courses.