Closed1

useSearchParamsの使い方

301 Moved Permanently301 Moved Permanently

useSearchParam

export default function Search({ placeholder }: { placeholder: string }) {
  const searchParams = useSearchParams();
  function handleSearch(term: string) {
    const params = new URLSearchParams(searchParams);
    if (term) {
      params.set('query', term);
      console.log(params.toString());
    } else {
      params.delete('query');
    }
  }

console.logの中身はquery=<入力した値>となる。

アドレスバーのURLを置き換える

  const searchParams = useSearchParams();
  const pathname = usePathname();
  const { replace } = useRouter();
  function handleSearch(term: string) {
    const params = new URLSearchParams(searchParams);
    if (term) {
      params.set('query', term);
    } else {
      params.delete('query');
    }
    replace(`${pathname}?${params.toString()}`);
  }

URLのクエリパラメーターから値を取得するにはsearchParams.get('query')?.toString()とすればいい。

このスクラップは2023/12/31にクローズされました