nuqsとは
nuqsは状態をクエリパラメータで管理するためのライブラリです。
インストール
Yarnを使用している場合、以下のコマンドを実行してインストールします。
yarn add nuqs
アダプタ
Next.jsのApp Routerを使用する場合にはRootLayout
の{children}
をNuqsAdapter
コンポーネントでラップします。
import { NuqsAdapter } from 'nuqs/adapters/next/app'
import { type ReactNode } from 'react'
export default function RootLayout({
children
}: {
children: ReactNode
}) {
return (
<html>
<body>
<NuqsAdapter>{children}</NuqsAdapter>
</body>
</html>
)
}
使い方
以下のように記述することでカウントをクエリパラメータで管理できるようになります。
"use client"
import { useQueryState } from "nuqs"
export function Demo() {
const [count, setCount] = useQueryState(
"count",
parseAsInteger.withDefault(0),
)
return (
<button onClick={() => setCount((c) => c + 1)}>Count: {count}</button>
)
}