【问题标题】:NextJS getInitialProps called twice by babel asyncToGeneratorNextJS getInitialProps 被 babel asyncToGenerator 调用了两次
【发布时间】:2020-06-26 07:10:39
【问题描述】:

我意识到我的 getInitialProps 被调用了两次(甚至三次),一个是用户的请求,另一个是来自 babel asyncToGenerator 的请求,如下所示:

localhost/[page]/babel/runtime-corejs2/helpers/asyncToGenerator.js
localhost/[page]/internal/process/task_queues.js

当用户尝试打开页面时,这两个请求破坏了我的页面,因为 getInitialProps 函数应该根据 page_name 后面的 ID 从 mongodb 获取数据,例如:localhost/[page]/[id]

在上述情况下,idbabelinternal,因此没有返回数据。 最糟糕的是,这两个请求是在用户请求页面时同时发生的,因此这两个请求将永远不会打开页面,这会干扰组件应该接收的响应。请帮忙。

【问题讨论】:

    标签: express routes babeljs router next.js


    【解决方案1】:

    在处理此问题 2 天后,我通过编辑快速路线删除了该问题。以前我将*? 放在url 的末尾,以便接收路径后面的任何参数。

    这是我编辑之前的样子:

    app.get("/:page/:id*?", () => {});
    

    然后我修改成:

    app.get("/:page/:id", () => {});
    

    这两个字符解决了我的问题,尽管这意味着我的页面将无法接收任何参数,但现在它就像一个魅力。

    【讨论】:

      猜你喜欢
      • 2021-11-26
      • 1970-01-01
      • 2017-01-28
      • 1970-01-01
      • 2021-08-04
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多