React7 min read
React Redux Toolkit
Manage complex app state with Redux Toolkit.
Sarah Johnson
December 20, 2025
0.0k0
Redux Toolkit simplifies Redux development.
Install
npm install @reduxjs/toolkit react-redux
Create Store
import { configureStore, createSlice } from '@reduxjs/toolkit';
const counterSlice = createSlice({
name: 'counter',
initialState: { value: 0 },
reducers: {
increment: (state) => {
state.value += 1;
},
decrement: (state) => {
state.value -= 1;
}
}
});
const store = configureStore({
reducer: {
counter: counterSlice.reducer
}
});
export const { increment, decrement } = counterSlice.actions;
export default store;
Setup Provider
import { Provider } from 'react-redux';
import store from './store';
function App() {
return (
<Provider store={store}>
<Counter />
</Provider>
);
}
Using in Components
import { useSelector, useDispatch } from 'react-redux';
import { increment, decrement } from './store';
function Counter() {
const count = useSelector((state) => state.counter.value);
const dispatch = useDispatch();
return (
<div>
<p>Count: {count}</p>
<button onClick={() => dispatch(increment())}>+</button>
<button onClick={() => dispatch(decrement())}>-</button>
</div>
);
}
Async with createAsyncThunk
import { createAsyncThunk } from '@reduxjs/toolkit';
export const fetchUsers = createAsyncThunk(
'users/fetch',
async () => {
const response = await fetch('/api/users');
return response.json();
}
);
Remember
- Use for large apps
- Predictable state updates
- DevTools support
- More boilerplate than Zustand
Congratulations! Intermediate React completed! Ready for advanced topics!
#React#Redux#State Management#Intermediate