intermediate

Redux Toolkit

Используйте slices, configureStore, reducers на Immer, типизированные hooks и современные дефолты Redux.

Redux Toolkit (RTK) — официальный стиль Redux: `configureStore`, `createSlice`, reducers на Immer, типизированные hooks и entity adapters. Меньше boilerplate при сохранении предсказуемого потока данных.

					const counterSlice = createSlice({
  name: 'counter',
  initialState: { value: 0 },
  reducers: {
    incremented(state) {
      state.value += 1;
    },
  },
});

const store = configureStore({
  reducer: { counter: counterSlice.reducer },
});

type RootState = ReturnType<typeof store.getState>;
type AppDispatch = typeof store.dispatch;
				

Экспортируйте типизированные обёртки `useAppDispatch` и `useAppSelector`. Делите фичи на slice; собирайте в map reducer store.

Компромисс: меньше boilerplate и безопасные дефолты против навязанной структуры и «магии» Immer, скрывающей копирование.

На интервью: что RTK меняет относительно «ручного» Redux; когда хватает slice без RTK Query.

Типовые ошибки: один гигантский slice, отключение serializable check без понимания причины, fetch в slice вместо RTK Query.

Чеклист:

  • createSlice на домен фичи.
  • configureStore с типизированными hooks.
  • Entity adapters для нормализованных списков.
  • RTK Query, когда проблема — удалённый кэш.