Next.jsのuseSearchParamsはgetAll()
, keys()
, values()
, entries()
, forEach()
, toString()
が用意されていますが、オブジェクトを返してくれるメソッドは用意されていません。
そのため、コンポーネントなどにパラメーターをオブジェクトとして渡したい場合は以下のようにObject.fromEntries()
を使うとパラメーターをオブジェクトに変換することができます。
"use client";
import { useSearchParams } from "next/navigation";
...
export default function Page() {
const searchParams = useSearchParams();
const searchParamsObject = Object.fromEntries(searchParams);
return (
...
);
}
MDN Web Docs


Object.fromEntries() – JavaScript | MDN
Object.fromEntries() 静的メソッドは、キーと値の組み合わせのリストをオブジェクトに変換します。
コメント