最近はReduxを書くならRedux Toolkit(旧Redux Starter Kit)を使うらしいと聞いて、一昨年作った個人開発アプリのRedux部分をRedux Toolkitで書き換えた(今更Reduxかという雰囲気もあるが…)。
以下、雑感。
- Redux部分のコード量は半分になった
- reducerを定義するとactionも生成されるので、actionのコードが全部なくなった
- stateのimmutabilityをサポートする仕組みが入っているのが良い
- immerが組み込まれているので、reducer内でstateをmutableに変更しても大体動く
- immutabilityを破ると警告してくるmiddlewareが入っているので、違反しても気付ける
- Sliceの仕組みで名前空間が分離しやすいのが良い
- 学習コストはちょっとだけある
- Redux ToolkitのパーツがReduxの何に対応するのかドキュメントとにらめっこ
- TypeScriptサポートはバッチリ
Reduxは誰でも書けるし読めるのが利点だと思っているが、すぐに記述量の多さにイライラするタイミングが来るので、次にReduxを使って何か作ることがあれば最初から入れると思う(もちろんそもそもRedux要るのかというのは検討した上で)