我想在单击 next.js 中的按钮后在 url 参数中添加数据
function send() {
router.push(
{ pathname: "/", query: { n: "firstparam,secondparam" } },
undefined,
{
shallow: true
}
);
}
点击后,我进入了网址:
site/?n=firstparam%2Csecondparam
因此,nextjs 添加了 %2C
,而不是 ,
。如何避免所有这些标志并在不使用 replace() 的情况下获取有效的网址?
例如:site/?n=firstparam,secondparam
演示:https://codesandbox.io/s/vibrant-sinoussi-d9z77?file=/pages/index.js
最佳答案
%2C
是 ,
的 url 编码,Next.js 所做的是正确的事情,因为 ,
不是有效字符。
console.log(encodeURIComponent(','))
您可以尝试将 URL 作为字符串传递。
function send() {
router.push('/?n=firstparam,secondparam', undefined, {
shallow: true,
});
}
关于next.js - 接下来 js 更改 url 中的查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64555184/