NextJS getInitialProps 被 babel asyncToGenerator 调用两次

NextJS getInitialProps called twice by babel asyncToGenerator

我意识到我的 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,因此没有返回数据。 最糟糕的是,这两个请求在用户请求页面时同时发生,因此页面永远不会打开,因为这两个请求扰乱了组件应该接收的响应。请帮忙。

处理这个问题 2 天后,我通过编辑快速路线解决了这个问题。以前我把 *? 放在 url 的末尾,以便接收路径后面的任何参数。

这是我编辑之前的样子:

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

然后我修改成了:

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

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