Zustandの利点
- **「Reduxほど重々しくなく、Context APIよりも高機能で使いやすい、ちょうどいい落としどころ」**だから選ばれているらしい
- 「不要な再レンダリング」を防ぐ
- 「バケツリレー」と「コードの複雑化」を防ぐ
- Props省略し、別ファイル(ストア)でデータを管理させた
- 「Reactの外」でも状態を扱えるようになる
Zustandのリスク
- 「暗黙的な依存」によるスパゲッティ化
- 「ステートの肥大化」によるカオス
- テストの難易度が少し上がる
- アトミックな管理には不向き
Zustandを導入すべきでないケース
- 非常に小規模:
useStateとpropsだけで十分なら、ライブラリを入れること自体が「余計な複雑さ」になる - 厳格なデバッグが必要: 誰がいつ変更したかをガチガチに記録・追跡したいなら、Redux の方がツール(DevTools)の機能が一段階強力