gpt4 book ai didi

javascript - react 路由器 : Update only one query parameter instead of replacing all

转载 作者:行者123 更新时间:2023-12-03 21:14:31 25 4
gpt4 key购买 nike

我正在尝试使用 react-router (v5) 在按钮单击时仅更新一个查询参数键值。

const btnClickHandler = () =>{
history.push({ search: 'popup=false' });
}

我希望此代码从以下位置更新 url:
https://base-url.com/?popup=true&checked=true

至:
https://base-url.com/?popup=false&checked=true

但相反,它将整个搜索替换为:
https://base-url.com/?popup=false

基本上,不是替换所有查询参数键值,而是如何只替换一个?

最佳答案

在更新它们之前,您需要自己合并查询参数。您可以使用 query-string ( https://www.npmjs.com/package/query-string ) 库,让您的工作更轻松。

import qs from 'query-string';

const Component = ({ location}) => {

const btnClickHandler = () =>{
const queryParams = qs.parse(location.search);
const newQueries = { ...queryParams, popup:false};
history.push({ search: qa.stringify(newQueries) });
}

}

关于javascript - react 路由器 : Update only one query parameter instead of replacing all,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61685743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com