我意识到我的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]
。
在上述情况下,id
是babel
和internal
,因此没有返回的数据。
最糟糕的是,这两个请求是在用户请求页面的同时发生的,因此该页面将永远不会打开。这两个请求的bcs干扰了组件应接收的响应。请帮忙。
答案 0 :(得分:0)
处理此问题2天后,我通过编辑快递路线来消除此问题。以前,我将*?
放在url的末尾,以便接收路径后面的任何参数。
这是我编辑之前的样子:
app.get("/:page/:id*?", () => {});
然后我将其修改为:
app.get("/:page/:id", () => {});
用两个字符解决了我的问题,尽管这意味着我的页面将无法接收任何参数,但现在它像一个超级按钮一样工作。