nuqs について
Next.js で型安全な URL クエリ状態を管理する開発者向けの nuqs ガイドです。セットアップ、パーサー、サーバー連携、性能、ナビゲーション、テストを扱う優先度付きの 42 ルールを収録しています。
主な機能
- 018 カテゴリー、計 42 ルール
- 02型付きパーサーの設定
- 03Next.js アダプターとセットアップ
- 04Server Component との連携
- 05URL 更新の性能に関する指針
- 06履歴、デバッグ、テストの助言
活用シーン
- 01Next.js プロジェクトで nuqs を設定
- 02URL に基づくアプリ状態の管理
- 03クエリ状態と Server Component の連携
- 04nuqs の動作に関する問題の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pymodel/ react-frontend-skills --skill nuqsインストール後、Claude Code で/nuqsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/advanced-custom-parsers.mdadvanced-eq-function.mdadvanced-framework-adapters.mdadvanced-url-keys.mddebug-common-errors.mddebug-enable-logging.mddebug-testing.mdhistory-back-sync.mdhistory-push-navigation.mdhistory-replace-ephemeral.mdhistory-scroll-behavior.mdparser-array-format.mdparser-date-format.mdparser-enum-validation.mdparser-hex-colors.mdparser-index-offset.mdparser-json-validation.mdparser-use-typed-parsers.mdparser-with-default.mdperf-avoid-rerender.mdperf-clear-on-default.mdperf-debounce-search.mdperf-serialize-utility.mdperf-throttle-updates.mdserver-next15-async.mdserver-parse-before-get.mdserver-search-params-cache.mdserver-shallow-false.mdserver-share-parsers.mdserver-use-transition.md詳細
Next.js 向けのコミュニティ nuqs ベストプラクティス
Next.js アプリケーションで nuqs を使用した、型安全な URL クエリ状態管理の包括的なガイドです。コード生成、リファクタリング、コードレビューを支援するため、影響度に基づいて優先順位を付けた 8 カテゴリー、42 のルールを掲載しています。
適用する場面
次のような場合に、これらのガイドラインを参照してください。
- nuqs を使った URL ベースの状態を実装する場合
- Next.js プロジェクトで nuqs を設定する場合
- URL パラメーター用のパーサーを設定する場合
- URL 状態を Server Components と統合する場合
- URL 更新のパフォーマンスを最適化する場合
- nuqs 関連の問題をデバッグする場合
優先度別のルールカテゴリー
| 優先度 | カテゴリー | 影響度 | 接頭辞 |
|---|---|---|---|
| 1 | パーサーの設定 | 重大 | parser- |
| 2 | アダプターとセットアップ | 重大 | setup- |
| 3 | 状態管理 | 高 | state- |
| 4 | サーバーとの統合 | 高 | server- |
| 5 | パフォーマンスの最適化 | 中 | perf- |
| 6 | 履歴とナビゲーション | 中 | history- |
| 7 | デバッグとテスト | 低~中 | debug- |
| 8 | 高度なパターン | 低 | advanced- |
クイックリファレンス
1. パーサーの設定(重大)
parser-use-typed-parsers- 文字列以外の値には型付きパーサーを使用するparser-with-default- null を許容しない状態には withDefault を使用するparser-enum-validation- 値が制限される場合は enum パーサーを使用するparser-array-format- 適切な配列パーサー形式を選択するparser-json-validation- JSON パーサーの入力を検証するparser-date-format- 適切な日付パーサーを選択するparser-index-offset- URL 上で 1 始まりの表示を行うには parseAsIndex を使用するparser-hex-colors- 色の値には parseAsHex を使用する
2. アダプターとセットアップ(重大)
setup-nuqs-adapter- アプリを NuqsAdapter でラップするsetup-use-client- フックには 'use client' ディレクティブを追加するsetup-import-server- サーバーユーティリティは nuqs/server からインポートするsetup-nextjs-version- 互換性のある Next.js バージョンを使用するsetup-shared-parsers- 専用ファイルで共有パーサーを定義する
3. 状態管理(高)
state-use-query-states- 関連するパラメーターには useQueryStates を使用するstate-functional-updates- 派生状態には関数型更新を使用するstate-clear-with-null- null を使って URL パラメーターをクリアするstate-controlled-inputs- 制御された入力値を適切に処理するstate-avoid-derived- URL パラメーターから派生する状態を避けるstate-options-inheritance- パーサー単位の設定には withOptions を使用するstate-setter-return- URL にアクセスするにはセッターの戻り値を使用する
4. サーバーとの統合(高)
server-search-params-cache- Server Components には createSearchParamsCache を使用するserver-shallow-false- サーバーの再レンダリングを実行するには shallow:false を使用するserver-use-transition- ローディング状態には useTransition を統合するserver-parse-before-get- Server Components では get() の前に parse() を呼び出すserver-share-parsers- クライアントとサーバーの間でパーサーを共有するserver-next15-async- Next.js 15 以降で非同期の searchParams を処理する
5. パフォーマンスの最適化(MEDIUM)
perf-throttle-updates- limitUrlUpdates を使って URL の更新をスロットリングするperf-clear-on-default- clearOnDefault を使って URL をすっきりさせるperf-avoid-rerender- URL の状態を使うコンポーネントをメモ化するperf-serialize-utility- リンク URL に createSerializer を使うperf-debounce-search- サーバーに送信する検索更新をデバウンスする
6. 履歴とナビゲーション(MEDIUM)
history-push-navigation- ナビゲーションに似た状態には history:push を使うhistory-replace-ephemeral- 一時的な状態には history:replace を使うhistory-scroll-behavior- URL 変更時のスクロール動作を制御するhistory-back-sync- ブラウザーの戻る/進むナビゲーションを処理する
7. デバッグとテスト(LOW-MEDIUM)
debug-enable-logging- トラブルシューティング用にデバッグログを有効にするdebug-common-errors- nuqs のよくあるエラーを診断するdebug-testing- URL の状態を使うコンポーネントをテストする
8. 高度なパターン(LOW)
advanced-custom-parsers- 複雑な型向けのカスタムパーサーを作成するadvanced-url-keys- urlKeys を使って URL を短くするadvanced-eq-function- オブジェクトパーサー用の eq 関数を実装するadvanced-framework-adapters- フレームワーク固有のアダプターを使う
使い方
まず、プロジェクトのルートで実行します。
npx -y @pymodel/react-frontend-skills detect # installed vs. targeted versions
npx -y @pymodel/react-frontend-skills scan --skill nuqs # deprecated APIs → rule IDs
タスクに該当する上記の各ルールと、各 scan のヒットについて、references/<rule-id>.md を読み、重要な理由と、誤ったコードと正しいコードを確認してください。
コメント
Markdown 対応