Zustandの利点

  • **「Reduxほど重々しくなく、Context APIよりも高機能で使いやすい、ちょうどいい落としどころ」**だから選ばれているらしい
  • 「不要な再レンダリング」を防ぐ
  • 「バケツリレー」と「コードの複雑化」を防ぐ
    • Props省略し、別ファイル(ストア)でデータを管理させた
  • 「Reactの外」でも状態を扱えるようになる

Zustandのリスク

  • 「暗黙的な依存」によるスパゲッティ化
  • 「ステートの肥大化」によるカオス
  • テストの難易度が少し上がる
  • アトミックな管理には不向き

Zustandを導入すべきでないケース

  • 非常に小規模: useState と props だけで十分なら、ライブラリを入れること自体が「余計な複雑さ」になる
  • 厳格なデバッグが必要: 誰がいつ変更したかをガチガチに記録・追跡したいなら、Redux の方がツール(DevTools)の機能が一段階強力