
Zustand State Management
Zustand store, create, selectors, actions, middleware, devtools, persistence
18 面接問題·
Mid-Level
1Zustandとは何ですか?
1
Zustandとは何ですか?
回答
Zustandは、ReduxやContext APIとは異なり、Providerを必要としないReact向けのミニマリストなstate managementライブラリです。hooksとcreate()関数に基づくシンプルなAPIを提供し、非常に小さなbundle size(1KB未満)を実現しています。ZustandはReduxのアーキテクチャの複雑さなしにグローバルstateを管理でき、Context APIのパフォーマンスの問題も回避できます。
2基本的なZustand storeをどのように作成しますか?
2
基本的なZustand storeをどのように作成しますか?
回答
create()関数はZustand storeを初期化するために使用されます。setとgetをパラメータとして受け取るcallback関数を受け付け、初期stateとactionsを定義できます。返されるstoreはコンポーネントで直接使用できるReact hookです。このアプローチにより、Reduxのaction creatorsやreducersのようなboilerplateが不要になります。
3コンポーネント内でZustand storeのstateにどのようにアクセスしますか?
3
コンポーネント内でZustand storeのstateにどのようにアクセスしますか?
回答
create()で作成されたstoreは、関数コンポーネントで直接呼び出せるReact hookを返します。このhookはstateの必要な部分のみを抽出するオプションのselectorを受け付けます。selectorなしではstate全体を返しますが、不要なre-renderが発生する可能性があります。hook-firstのアプローチにより、Zustandはモダンなreact開発者にとって非常に直感的です。
4
Zustandにおけるselectorの役割は何ですか?
5
selectorで不要なre-renderを避けるにはどうすればよいですか?
+15 面接問題
その他のReact / Next.js面接トピック
JavaScript の基礎
Junior
25問React の基礎
Junior
20問React Hooks
Junior
22問コンポーネントのライフサイクル
Junior
18問React Router
Junior
20問Contextを使った状態管理
Junior
18問フォームと Controlled Components
Mid-Level
20問データ取得と API
Mid-Level
20問React Query (TanStack Query)
Mid-Level
20問Styling & CSS-in-JS
Mid-Level
18問Next.jsの基礎
Mid-Level
25問TypeScriptとReact
Mid-Level
20問Next.js データフェッチング
Mid-Level
24問Next.js Server Actions
Mid-Level
20問Next.jsのルーティングとナビゲーション
Mid-Level
22問Next.js API Routes
Mid-Level
20問Next.js Metadata & SEO
Mid-Level
18問Next.js の Middleware と Auth
Mid-Level
22問React テスト
Mid-Level
20問React パフォーマンス最適化
Senior
22問Error Boundaries & エラーハンドリング
Senior
18問Advanced React Patterns
Senior
20問Next.jsの高度な機能
Senior
24問Next.jsのデプロイメントと本番環境
Senior
20問アーキテクチャ & デザインパターン
Senior
22問React Server Components
Senior
26問Next.js の国際化
Senior
20問React セキュリティ & ベストプラクティス
Senior
22問