We started the chapter by introducing ourselves to Redux, learning the principles and key concepts. We learned that the state is stored in a single object and changed by pure functions called reducers when actions are dispatched.
We created our own store in our React shop to put the theory into practice. Here are some key points we learned in our implementation:
- Enumerations for action types give us nice IntelliSense when referencing them.
- Using interfaces to define the actions gives a nice level of type safety and allows us to create a union type that a reducer can use for the actions it has to deal with.
- Using read-only properties within the state interface helps us avoid mutating the state directly.
- Synchronous action creators simply return the required action object.
- Asynchronous action creators return a function that eventually returns the action object.
- The reducer...