Toolkit
@reduxjs/toolkit
The official, opinionated, batteries-included toolset for efficient Redux development
State Management
redux
react
starter
toolkit
reducer
slice
immer
immutable
redux-toolkit
tanstack-intent
Stars
1
Weekly
0
Open issues
0
Bundle
~60 kB
Installation
npm install @reduxjs/toolkitCode example
import { configureStore, createSlice } from "@reduxjs/toolkit";
import { Provider, useDispatch, useSelector } from "react-redux";
const counter = createSlice({
name: "counter",
initialState: { value: 0 },
reducers: { inc: (s) => { s.value += 1; } },
});
const store = configureStore({ reducer: { counter: counter.reducer } });
export function Example() {
return (
<Provider store={store}>
<Counter />
</Provider>
);
}
function Counter() {
const value = useSelector((s: { counter: { value: number } }) => s.counter.value);
const dispatch = useDispatch();
return (
<button type="button" onClick={() => dispatch(counter.actions.inc())}>
Count: {value}
</button>
);
}Pros & cons
Pros
- Actively maintained by Mark Erikson
- 0 weekly downloads. Battle tested
- First-class TypeScript definitions
- MIT licensed
Considerations
- Adds roughly ~60 kB to your bundle
- Needs client-only rendering in SSR frameworks
- Not supported in React Native
- 0 open issues on GitHub