javascript - 如何在 NEXT JS 中的路由之间传递状态?

标签 javascript node.js reactjs next.js

我的页面中有一个对象内的数据。我想从那个页面重定向到另一个页面以及像下面的代码这样的数据

const redirectAppointmentStep1 = (value) => {
    router.push({
      pathname: '/Appointment/bookingstep1',
      query: {value : value},
    })
  }

我在 bookingstep1 页面中收到了这样的数据

 const {query} = useRouter()

但问题是查询出现在 url 上并且 url 看起来不干净。如何将数据从一个页面发送到另一个页面而不显示在 url 上?

我是 Next.js 的新手,所以非常感谢任何帮助。

最佳答案

如果你想发送“路由状态”,你必须通过查询字符串来完成,但你实际上可以通过 as 属性“屏蔽”在浏览器中显示的路径。

Router.push

router.push(url, as, options)

as - Optional decorator for the URL that will be shown in the browser.

您可以修饰 URL 以匹配路径名。

const redirectAppointmentStep1 = (value) => {
  router.push(
    {
      pathname: '/Appointment/bookingstep1',
      query: {value : value},
    },
    '/Appointment/bookingstep1', // "as" argument
  )
}

关于javascript - 如何在 NEXT JS 中的路由之间传递状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66513773/

相关文章:

javascript - 没有 id 的小部件上出现 "id is already registered"错误

javascript - 如何使用 Google API 和表单获取任何城市的纬度和经度?

javascript - 如何在不重新加载 DOM 的情况下保持表单更新?

javascript - sailsjs - waterline 是否可以智能方式支持 mongodb?

reactjs - 如何使用 Electron、React 和 Electron-Builder 在生产中显示图像

javascript - 更新侧边栏 View 内容的 Ember.js 最佳实践是什么?

javascript - 获取跨域脚本标签的内容

node.js - 检查项目中是否使用 package.json 中的 npm 包的编程方式?

reactjs - 无法使用 redux 在 react-testing-utils 中进行基本测试

javascript - React useReducer 查找和更改状态中的单个对象