💭

[React]query-stringでURLクエリを取得する

2024/01/18に公開

はじめに

今回紹介するコードの完成形はこちら↓
https://github.com/49takaya3989/tech_training_studio/tree/main/src/query-string

パッケージのインストール

https://github.com/sindresorhus/query-string

npm i query-string

実装

今回は.parseを使ってクエリをオブジェクトへ変換し、表示する。

const { search } = useLocation();
// > searchが"?hoge=hoge&fuga=fuga&fizz=fizz&bizz=bizz"と仮定
const parseQS = queryString.parse(search);
const parseQSKeys = Object.keys(parseQS);
return parseQSKeys.map(key => <div>{`${key}:${parseQS[key]}

// 出力
bizz:bizz
fizz:fizz
fuga:fuga
hoge:hoge

URLSearchParamsでの書き換え

query-stringを使わずに実装したい際はURLSearchParamsを使うと良い。
https://developer.mozilla.org/ja/docs/Web/API/URLSearchParams

const { search } = useLocation();
// > searchが"?hoge=hoge&fuga=fuga&fizz=fizz&bizz=bizz"と仮定
const urlSearchParam = new URLSearchParams(search);
const urlSearchParamKeys = [...urlSearchParam.keys()];
return urlSearchParamKeys.map(key => <div>{`${key}${urlSearchParam.get(key)}`}

// 表示
hoge:hoge
fuga:fuga
fizz:fizz
bizz:bizz

以上!

GitHubで編集を提案

Discussion