重定向到 Next.js 应用程序文件夹中的 404 Not Found 页面:分步指南
P粉553428780
P粉553428780 2023-11-03 19:55:27
0
1
647

例如,我们曾经使用 getServerSideProps 来重定向到页面组件中的 404 页面,如下所示:

// pages/index.js

export async function getServerSideProps(context) {
  const placeId = context.params.placeId;
  const places = await getPlace(placeId);

  if (!places.length) { 
   return {
     notFound: true,
   }
  }

  return {
    props: {
      places[0],
    },
  };

通过 Next.js 13app 目录,我们有了服务器组件。 getServerSideProps 不再使用时如何重定向到 404 页面?

P粉553428780
P粉553428780

全部回复(1)
P粉805922437

根据文档,您可以使用 notFound( ) 函数如下所示,它会渲染相应的 not-found.js 文件:

// app/user/page.js

import { notFound } from 'next/navigation';

export default async function Profile({ params }) {
  const res = await fetch(`/user/${params.id}`);
  if (!res.ok) {
    notFound();
  }
  return <div>Actual Data</div>;
}
// app/user/not-found.js

export default function NotFound() {
  return <p>404 Not Found</p>
}

如果没有 app/user/not-found.js 文件,则使用 app/not-found.js。如果没有 app/not-found.js,它将使用 Next.js 给出的默认值。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板