getInitialProps
ページがレンダリングされる前に実行される
ページに必要なデータをpropsとして渡す
serverとclientの両方で実行される
初回読み込み時はserverで実行される
それ以降のページ遷移時はclientで実行される
(next/link、next/routerを使用した場合)
pagesフォルダ内のファイルでのみ使用可
例
code:ts
function Page({ stars }) {
return <div>Next stars: {stars}</div>;
}
Page.getInitialProps = async ctx => {
const json = await res.json();
return { stars: json.stargazers_count };
};
export default Page;
クライアント側でもサーバー側でも動作するfetchライブラリ
返り値はどこに渡される?
Componentに、propsとして渡される
参考