Next.js / React / TypeScript の実践的なコードサンプル集
全 154 件(1 / 7 ページ)
Zustand のアクションは store 生成時から参照が安定している性質を活かし、selector で取り出して props で子に渡す書き方を解説する。
saveSettings のような非同期処理を store のアクションに閉じ込め、status: 'idle'|'loading'|'error'|'success' を 1 つのフィールドで表現する書き方を解説する。
BroadcastChannel API で別タブの settingsStore に変更をブロードキャストし、エコーバックを避けながら受信側を更新する手順を解説する。
settingsStore.rate から detailStore.suggestedRate を導出する派生状態の作り方を、subscribeWithSelector と shallow を軸に解説する。
store 名 / アクション名 / replace モードを揃え、Redux DevTools のタイムラインを 4 store 横断で読み解けるようにする命名規則を解説する。
フォーム入力 → リアルタイム同期 → 保存 → リセットまでの一連の流れを Playwright で再現し、Store Monitor の表示と DOM の両方で検証する手順を解説する。
RHF の errors.<field>.message を、aria-invalid と aria-describedby で input と紐付けてスクリーンリーダーに伝える書き方を解説する。
settingsStore にネストしたフィールドを足すときに、immer middleware で『見た目はミュータブル、実体は immutable』な更新に書き換える手順を解説する。
persist middleware の partialize で settings の確定値だけを localStorage に保存し、UI 状態や派生 store を巻き込まない部分永続化を解説する。
settingsStore の値を trim・大文字化・フォールバックといった整形を施して保持する profileStore の最小設計を解説する。
useForm の watch でリアルタイム同期し、handleSubmit で確定値を扱い、formState で UI を切り替える Playground の RHF 実装を1ステップずつ解説する。
Zustand store はクライアント専用。Server Component から直接読まず、初期値の受け渡しと hydration mismatch を避ける書き方を解説する。
肥大化しがちな store を「フィールドのスライス」「アクションのスライス」に分けて combine で結合し、責務をモジュール単位で表現する手順を解説する。
devtools / persist / subscribeWithSelector / immer を重ねたときに set の引数推論が壊れないよう、StateCreator のジェネリクスで型を補強する手順を解説する。
settings / profile / detail / ui の 4 ストアを subscribe で連携し、patchFormData・setFormData・reset を使い分ける Playground の Zustand 実装を1ステップずつ解説する。
全 store の値をリアルタイムに監視するサイドパネルを selector だけで構成し、再レンダリング範囲を局所化するパターンを解説する。
settings から profile へ subscribe で同期するレイヤを、Vitest で「呼ばれた / 呼ばれない」「整形が正しい」を確かめるテストの書き方を解説する。
Zustand に依存する UI を Storybook で取り扱うために、store のリセット / decorator / play function を組み合わせて状態をストーリー単位で固定する手順を解説する。
uiStore の activeTab を起点に、role=tablist / aria-selected / 矢印キー操作 / フォーカス管理を満たした TabBar を組み立てる手順を解説する。
Zod スキーマ → z.infer → useForm → settings / profile / detail / ui の 4 ストアまで、Playground の TypeScript の流れを1ステップずつ追う。
アクティブなタブの状態だけを抱える uiStore を独立させ、settings / profile / detail と疎結合に保つ最小設計を解説する。
オブジェクト selector で useShallow を使う場合と、複数の primitive selector に分ける場合の判断基準を、再レンダリング挙動と一緒に解説する。
RHF の watch から settingsStore に毎キーストローク同期する負荷を performance.mark で計測し、必要なら throttle / 差分検知で抑える手順を解説する。
RHF の watch でリアルタイム同期しつつ、保存時に Zod parse で確定値を書き戻す Playground のフォーム実装を1ステップずつ解説する。
絞り込み・並び順