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 - 具有信息窗口行为的信息框

javascript - 即使设置了 %PYTHON%,Node.js (npm) 也拒绝找到 python

node.js - 使用 Directory API 获取资源日历

javascript - 选中复选框时如何防止不必要的渲染?

javascript - Google Analytics 事件跟踪 - 页面退出

javascript - 如何将javascript变量传递给rails部分 View

javascript - 从另一个 jsx 文件导入所有函数和常量

javascript - 了解何时使用事件以及何时使用回调

javascript - 重定向后无法访问组件中的 this.props.location

javascript - 如何在每次安装任何组件时刷新脚本?