Локальный state — useState/useReducer. Глобальный — Context, Redux Toolkit, Zustand, Jotai.
Redux Toolkit: createSlice, configureStore, useSelector, useDispatch — предсказуемый поток данных. Zustand — минималистичный API без boilerplate.
Выбор: маленькое приложение — Context + useState; среднее/большое — Zustand или RTK.
const useStore = create((set) => ({
items: [],
add: (item) => set((s) => ({ items: [...s.items, item] })),
}))const cartSlice = createSlice({
name: 'cart',
initialState: { items: [] },
reducers: { addItem(state, action) { state.items.push(action.payload) } },
})Книга, игра и упражнения доступны без регистрации. Видеоуроки — после оплаты курса.