next.js 404 Not Found 404 Not Found

ev7lccsx  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(122)

404页面不存在404页面不存在我遵循了here的指令,我的代码在app/[slug]/page.tsx中如下所示

import { notFound } from 'next/navigation';
import { getPage } from "@/sanity/utils";
import { CustomPortableText } from "../components/CustomPortableText";

type Props = {
    params: { slug: string }
}

export default async function Page({ params }: Props) {

    const page = await getPage(params.slug);

    if (!page) {
        return notFound()
    }
    return (
        <article>
            <CustomPortableText paragraphClasses="my-6" value={page.body} />
        </article>
    )
}

代码可以很好地与现有页面一起工作。但是,当页面不存在时,groq返回null,并进入notFound语句行,显示空白页面,并显示控制台错误

你能告诉我我做错了什么吗?先谢了。
我不使用自定义404页面。并已阅读的说明the NextJS documentation,但没有运气。

9wbgstp7

9wbgstp71#

如果您使用的是react-redux库或ReactContext,请尝试从布局组件中删除带有Providers的 Package 器。我也遇到过类似的问题,这个很有帮助!
另外,我建议创建自定义未找到页面(根据文档):
./app/not-found.tsx

export default async function NotFound() {
  return (
      <h1>404! Not Found</h1>
  );
}

调用notFound()后不需要return

相关问题