next.js - 接下来 js 更改 url 中的查询参数

标签 next.js

我想在单击 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/

相关文章:

reactjs - 在nextjs中获取URL路径名

reactjs - 下一个/路由器不返回组件中的查询字符串参数

reactjs - Next.js、TypeScript 和 tsconfig.json 'jsx' 属性被覆盖

javascript - Next.js - router.push 不滚动到顶部

javascript - 使用react-apollo进行服务器端渲染

javascript - 用于添加自定义实用程序的 Tailwind 插件不适用于 Next

javascript - Vercel Postgres 批量插入,从数组动态构建 SQL 查询

google-analytics - 如果用户没有 Next.js 应用程序的 cookie,则在客户端上从 SSR 设置分段 ajs_anonymous_id?

javascript - 如何在 next.config.js 中添加两个以上的插件

javascript - 如何让 Next.js 和 redux-api 工作(使用 next-redux-wrapper)