Fundamental Concepts Redux Store - Where all the global states are stored. This is immutable. Actions - Objects that describe the state change. It can include a payload that could be used for updating the state. Reducers - Pure functions (does not cause mutations) that execute state changes based on the action. Redux and Redux Toolkit Redux Toolkit simplifies working with Redux. It is developed because pure Redux on its own requires a lot of boilerplate code that is prone to errors/bugs, like accidentally causing mutations. To create a redux store, use the configureStore function from RTK: // src/app/store.ts export const store = configureStore ({ reducer : {} // Empty for now }); Enter fullscreen mode Exit fullscreen mode Make sure to also export the RootState and AppDispatch types that will be used in the selector and dispatch hooks (more on that later): // src/app/store.ts export type RootState = ReturnType < typeof store . getState > ; export type AppDispatch = typeof store .…