用語集 最終更新 2026.07.25

Redux Toolkit

Redux Toolkit(RTK)は、Redux を今の書き方で扱うための公式ツールセットです。 @reduxjs/toolkit パッケージとして提供され、2026年7月時点の最新版は 2.12 系です。

公式は「新規で素のReduxを書くな」と言っている

ここは推測ではなく、Redux 公式ドキュメントが明確に書いています。 ユーザーには Redux Toolkit(@reduxjs/toolkit パッケージ)を使うことを推奨し、新しい Redux コードで従来の redux コアパッケージを使うべきではない、さらに redux コアパッケージは今も動くが、現在は旧式(obsolete)と考えている という立場です(Why Redux Toolkit is How To Use Redux Today)。

つまり Redux は書く量が多くてつらい という評判の多くは、RTK 以前の書き方の話です。

何が入っているか

  • configureStore … store の設定。DevTools やミドルウェアが最初から入る
  • createSlice … reducer とアクションをまとめて定義。内部で Immer を使うので、見た目は書き換え、実体は不変更新になる
  • createAsyncThunk … 非同期処理の前後で状態を更新する定番パターンを引き受ける
  • createEntityAdapter … 正規化した一覧データのCRUD用reducerとセレクタ
  • createSelector … Reselect のメモ化セレクタ
  • RTK Query … データ取得とキャッシュまで面倒を見る仕組み(別エントリポイント)

どんな場面で使うか

  • 複数画面で共有する状態が多く、更新元も複数ある
  • 状態の変化を追跡・デバッグしたい(DevTools でのタイムトラベル)
  • チームで書き方をそろえたい

使わない判断も大事

状態が数個で1画面に閉じているなら、React 標準の useState / useContext で足ります。 グローバルな状態が少し必要なだけなら Zustand のような軽量ライブラリの方が学習コストは低いです。

また、扱いたいのがサーバーから取ってきたデータのキャッシュだけなら、状態管理ライブラリではなく RTK Query や TanStack Query のようなデータ取得ライブラリが本来の担当です。とりあえず全部 Redux に入れる は今は推奨されません。

近い用語との違い

  • Redux … 考え方とコアライブラリ。RTK は「その公式な書き方」
  • Zustand … より小さく始められる状態管理。規約は緩い

あわせて見たい用語

React 全体の基礎は React入門 で扱っています。