軽くハマったので書いておきます。
もしかしたら間違えてるかもしれないので、その場合は指摘してもらえると
react-hooks 前提です。
next.js@9 で確認しています。
今後変わる可能性があるのでご了承を。
CSR によるリダイレクト
pushState/replaceState でリダイレクトする。
render の中で next/router
を使う。
import { useRouter } from 'next/router';
const HogePage = () => {
const router = useRouter();
// pushState の場合
router.push('/');
// replaceState の場合
router.replace('/');
return <div />;
};
SSR によるリダイレクト
HTTP header でリダイレクトする。
getInitialProps でやる。
HogePage.getInitialProps = async ({ res }) => {
if (res) {
res.writeHead(302, { Location: '/' });
res.end();
}
}