Repolode
pmndrs

pmndrs/zustand

Provider不要の、React向け小型フックベースの状態管理ライブラリ。

代替できる製品:Redux

スター
58,845
フォーク
2,176
未解決の Issue
8
最終コミット
7 日前

これは何?

Zustandは、シンプル化したFluxの原則に基づくReact向けの状態管理ライブラリです。単一の関数でstoreを作成してhookとして公開できるため、アプリをContext Providerで囲まなくても、コンポーネントから状態の任意の一部を直接読み取れます。

コンポーネントは選択した状態の部分を購読し、その値が変わった場合にのみ再レンダリングされます。浅い比較、カスタムの等価性チェック、再レンダリングを避ける一時的な更新のためのヘルパーも用意されています。また、vanilla store APIを使えばReactなしでも利用できます。

状態をストレージに永続化するmiddleware、Immerベースの不変更新、Reduxスタイルのreducer、Redux DevTools連携を提供します。TypeScriptで実装されており、npmから入手できます。

主な機能

  • 01Provider不要で、hookとしてstoreを作成できます。
  • 02選択した状態が変化した場合にのみ、コンポーネントが再レンダリングされます。
  • 03浅い比較とカスタムの等価性関数に対応しています。
  • 04persist、Immer、Reduxスタイル、DevToolsのmiddlewareを利用できます。
  • 05vanilla store APIを使えば、Reactなしでも利用できます。

ユースケース

  • 最小限のボイラープレートで、Reactコンポーネント間のアプリケーション状態を共有する。
  • ユーザー設定やセッションデータをlocalStorageまたはsessionStorageに永続化する。
  • reducerスタイルのactionを維持しながら、Reduxから移行する。
  • 頻繁に更新される状態を管理し、不要な再レンダリングを防ぐ。

クイックスタート

  1. 1

    npmからzustandをインストールする

    npm install zustand
  2. 2

    createでストアを作成し、コンポーネントでフックを使う

トピック

よくある質問

zustand とは?
Provider不要の、React向け小型フックベースの状態管理ライブラリ。 Zustandは、シンプル化したFluxの原則に基づくReact向けの状態管理ライブラリです。単一の関数でstoreを作成してhookとして公開できるため、アプリをContext Providerで囲まなくても、コンポーネントから状態の任意の一部を直接読み取れます。
zustand は無料で使えますか?ライセンスは?
zustand は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
zustand は今もメンテナンスされていますか?
活発にメンテナンス中。zustand の最終コミットは 2026年10月14日 です。
zustand は何に使えますか?
最小限のボイラープレートで、Reactコンポーネント間のアプリケーション状態を共有する。 ユーザー設定やセッションデータをlocalStorageまたはsessionStorageに永続化する。 reducerスタイルのactionを維持しながら、Reduxから移行する。 頻繁に更新される状態を管理し、不要な再レンダリングを防ぐ。
zustand のインストール方法は?
npmからzustandをインストールする: npm install zustand createでストアを作成し、コンポーネントでフックを使う
zustand はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/pmndrs/zustand

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト