react 获取 search 方式传递的参数(URLSearchParams 和 querystring)

1.通过 URLSearchParams 获取

URLSearchParams() 返回一个 URLSearchParams 对象。该接口不继承任何属性。

方法:

(1)URLSearchParams.append() 插入一个指定的键/值对作为新的搜索参数,没有返回值。

(2)URLSearchParams.delete() 从搜索参数列表里删除指定的搜索参数及其对应的值。 没有返回值。

(3)URLSearchParams.entries() 返回一个iterator可以遍历所有键/值对的对象。

(4)URLSearchParams.keys()返回iterator 此对象包含了键/值对的所有键名。

(5)URLSearchParams.values() 返回iterator 此对象包含了键/值对的所有值。

(6)URLSearchParams.set() 设置一个搜索参数的新值,假如原来有多个值将删除其他所有的值。没有返回值。

(7)URLSearchParams.get() 获取指定搜索参数的第一个值。 返回指定键名的值。支持自动 UTF-8 解码

(8)URLSearchParams.getAll() 获取指定搜索参数的所有值,返回是一个数组。

(9)URLSearchParams.has() 返回 Boolean 判断是否存在此搜索参数。

(10)URLSearchParams.sort() 按键名排序。

(11)URLSearchParams.toString()返回搜索参数组成的字符串,可直接使用在URL上。

使用:

1
2
3
4
5
6
7
8
9
10
11
const { location: { search } } = props;
const individualReportDs = useMemo(() => new DataSet(individualReportDS()), []);
const searchParams = new URLSearchParams(search.substring(1));
 
useEffect(() => {
  if (searchParams?.get('reportCode')) {
    individualReportDs?.queryDataSet?.reset();
    individualReportDs?.queryDataSet?.create({ reportCode: searchParams.get('reportCode') }, 0);
  }
  individualReportDs.query();
}, []); 

2.通过 querystring

1
2
3
4
5
6
7
8
9
10
11
12
13
import qs from 'querystring';
...
const { location: { search } } = props;
const individualReportDs = useMemo(() => new DataSet(individualReportDS()), []);
 
useEffect(() => {
  if (search && search.slice(1)) {
    const { reportCode } = qs.parse(search.slice(1));
    individualReportDs?.queryDataSet?.reset();
    individualReportDs?.queryDataSet?.create({ reportCode }, 0);
  }
  individualReportDs.query();
}, []);

.

posted @   每天都要进步一点点  阅读(1409)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2020-07-24 手写 redux
2019-07-24 Flutter移动电商实战 --(5)dio基础_引入和简单的Get请求
2018-07-24 react-native 调用第三方 SDK
2017-07-24 js控制div内的滚动条的位置
点击右上角即可分享
微信分享提示