Next.js 未找到无限重新加载循环

Ale*_*lex 3 next.js

我正在使用带有应用程序路由器的下一个 13.4.4。我已将 not-found.tsx 组件添加到应用程序目录中,基本上只是从下一个文档复制代码:

import Link from 'next/link'
 
export default function NotFound() {
  return (
    <div>
      <h2>Not Found</h2>
      <p>Could not find requested resource</p>
      <p>
        View <Link href="/">all posts</Link>
      </p>
    </div>
  )
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我导航到不存在的路线时,404 页面会正确呈现,但会无限重新加载。

tl;dr:我已经编写了 not-found.tsx 组件。预计它只会显示未找到的页面,但它会无限重新加载。

Ale*_*lex 7

“这是在开发模式下吗?如果是这样,这就是 404 页面的预期行为。它不应该像生产中那样表现。”

谢谢朱利奥马尔维斯。是的,它处于开发模式。

ps 奇怪的预期行为恕我直言,我不知道他们为什么这样做。

  • 之所以这样设计,是因为在开发 ENV 中,您可能会尝试访问您尚未创建的页面。因此,服务器会刷新以检查您尝试访问的页面是否已创建,并避免您卡在 404 页面上。更多详细信息请参见:https://github.com/vercel/next.js/discussions/40000#discussioncomment-3498014 (4认同)