WebやReact Native向けに、状態管理とバリデーションを備えた高パフォーマンスなフォームを構築するReact Hooksライブラリ。
- スター
- 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
npmからzustandをインストールする
npm install zustand - 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 の数値は毎日更新されます。
関連プロジェクト
React、Vue、Svelte、Solid向けのバインディングを備えた、Webアプリ用の非同期状態管理・データ取得ライブラリ。
キャッシュデータを先に返し、バックグラウンドで再検証するデータ取得用React Hooksライブラリ。
React AriaとTailwind CSS v4を基盤とするReact UIコンポーネントライブラリ。旧称はNextUI。
手描き風の図を描けるオープンソースのバーチャルホワイトボード。React向けの埋め込み可能なnpmパッケージも提供します。
React、Router、Redux、テスト、React Nativeを扱う、回答付きのReactJS面接質問集。