[react-router V5]useSearchParams获取url参数

1,564 阅读1分钟

前情提要

用react-router v6的时候,会提供一个useSearchParams来获取url参数(看这里),而v5版本木有。那好办,造个轮子吧。

代码实现

import { useLocation } from "react-router-dom";
import { useMemo } from "react";

/**
 * 获取当前页面的查询参数
 */
function useSearchParams() {
  const { search } = useLocation();
  return useMemo(() => {
    const urlSearchParams = new URLSearchParams(search);
    let params = {};
    urlSearchParams.forEach((value, key) => {
      params[key] = value;
    });
    return params;
  }, [search]);
}

export default useSearchParams;