【问题标题】:Passing Multiple Parameters to Next.js Custom URL using Express server使用 Express 服务器将多个参数传递给 Next.js 自定义 URL
【发布时间】:2019-04-20 08:46:09
【问题描述】:

我按照 Next.js 中的这个例子来了解如何create Server Side Support for Clean URLs 但这个例子只支持传递一个参数

一切都很好,我还在 github 上找到了这个关于如何 add multiple parameters 到 Next.js 的路由。

server.get('/question/:id/:subject', (req, res) => {
  const actualPage = '/question'
  const mergedQuery = Object.assign({}, req.query, req.params)
app.render(req, res, actualPage, mergedQuery)})

来自组件的链接看起来像这样

 <Link as={`/question?id=${questionId}&subject=${subject}`} href={`/question?id=${questionId}&subject=${subject}`} ><a>{question}</a></Link>

这也很好用。 我的挑战是,当我尝试如下所示屏蔽 url 时,当我刷新页面时,我得到了 404 页面。

server.get('/q/:id/:subject', (req, res) => {
  const actualPage = '/question'
  const mergedQuery = Object.assign({}, req.query, req.params)
app.render(req, res, actualPage, mergedQuery)})

组件中的链接

 <Link as={`/q?id=${questionId}&subject=${subject}`} href={`/question?id=${questionId}&subject=${subject}`} ><a>{question}</a></Link>

【问题讨论】:

    标签: reactjs express next.js


    【解决方案1】:

    在谷歌上辛勤工作并玩弄代码几个小时后,此修复允许我将多个参数传递给 Next.js url,并且页面刷新应用程序仍然可以正确加载。

    <Link as={`/q/${questionId}/${subject}`} href={`/question?id=${questionId}&subject=${subject}`} ><a>{question}</a></Link>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      • 2018-01-29
      • 1970-01-01
      • 1970-01-01
      • 2020-04-08
      • 2018-03-21
      相关资源
      最近更新 更多