收到错误未处理的运行时错误错误:notFound()不允许在根布局中使用
带有应用程序目录的 next js 13 (v 13.4.12)
导入未找到:
import { notFound } from 'next/navigation'
然后在我的函数中使用它,当用户输入无效或返回的路线时,它会转到 404。
// Throw 404 if user requests invalid project
if (!project) {
return notFound();
}
但是出现错误:未处理的运行时错误错误:notFound() 不允许在根布局中使用。
有人有同样的问题吗?
根据文档:
调用
函数会抛出notFound()
错误并终止抛出该错误的路线段的渲染。 指定NEXT_NOT_FOUND
文件 允许您通过在段内渲染 Not Found UI 来优雅地处理此类错误。not-found
因此,您需要在您的页面或其父目录中创建一个
not-found.js
文件(如果您希望它被其他子页面共享)
//not-found.js
import Link from 'next/link'
export default function NotFound() {
return (
<div>
<h2>Not Found</h2>
<p>Could not find requested resource</p>
<Link href="/">Return Home</Link>
</div>
)
}