我想知道在 Next.js 中渲染页面之前是否可以重定向用户?
现在我有这个:
import { useRouter } from 'next/router';
export default function RedirectPage() {
const router = useRouter();
router.push('/projects');
return (
<div><h1>hi</h1></div>
)
}
出现此错误:Error: No router instance found. you should only use "next/router" inside the client side of your app.
Thanks.
你可以这样做获取服务器端属性 https://nextjs.org/docs/basic-features/data-fetching#getserversideprops-server-side-rendering通过在返回的对象上具有“重定向”属性。
export default function RedirectPage() {
return (
<div><h1>hi</h1></div>
)
}
export async function getServerSideProps(ctx) {
return {
redirect: {
destination: '/projects',
permanent: false,
},
}
}
我不能说这是否会在服务器上呈现页面,但用户将被重定向并且不会显示重定向页面的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)