Redux Toolkit is a modern solution for managing application state in React. It simplifies Redux by providing essential tools and removing boilerplate code. Let's dive into the basics!

Core Concepts 📌

  • State Management: Centralized store for application data
  • Immutable Updates: Use immer to handle state changes without mutating directly
  • Middleware: Extend functionality with tools like thunk or logger
  • Selectors: Extract data from the store efficiently

Getting Started 📦

  1. Install Redux Toolkit
    npm install @reduxjs/toolkit
    
  2. Create a Store
    import { configureStore } from '@reduxjs/toolkit';  
    const store = configureStore({ reducer: {} });  
    
  3. Define Reducers
    Use createSlice to generate reducer code:
    import { createSlice } from '@reduxjs/toolkit';  
    const initialState = { count: 0 };  
    const counterSlice = createSlice({  
      name: 'counter',  
      initialState,  
      reducers: {  
        increment(state) { state.count += 1; },  
        decrement(state) { state.count -= 1; }  
      }  
    });  
    

Advanced Features 🔧

  • Asynchronous Actions: Use createAsyncThunk for API calls
  • Persisting State: Integrate redux-persist for localStorage support
  • DevTools Extension: Enable debugging with @reduxjs/toolkit/devtools

Example Project 📁

Check out this Redux Toolkit example project to see a complete implementation. It includes:

  • Slice definitions
  • Store configuration
  • Component integration

redux toolkit icon

state management diagram

npm install redux toolkit

create store code example

middleware diagram

project structure example