例如,我们曾经使用 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 13 和 app 目录,我们有了服务器组件。 getServerSideProps 不再使用时如何重定向到 404 页面?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
根据文档,您可以使用
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 给出的默认值。