next build
時にビルドサーバー上でgetStaticProps
に記載されたロジックを実行してデータを取得する。ビルドの成果物としてデータを含めることで、実行時にはデータソースへのアクセスなしで画面を表示できる」くらいの理解度で問題ありません。getStaticPaths
内で指定する設定値である。getStaticProps
内で指定する設定値である。getStaticProps
の処理を流用している。
getStaticProps
で環境変数を使っていれば、ビルドサーバーだけではなく実際のNext.jsサーバーにも環境変数が必要となる。他にも、データソース側にIP制限をかけている場合なども同様である。getStaticProps
内でrevalidate
プロパティで間隔を設定する。
revalidate
プロパティに値が指定されているのであれば、そのページはISRされるということになる。revalidate
に指定した秒数経つまでrevalidate
に指定した秒数が経ってから、当該ページが取得されたタイミングで行われる。
getStaticPaths
内のfallback
プロパティに有効化有無を設定する。
fallback:true
とfallback:blocking
の設定が存在する。これは、loadingのような画面描画を挟むか、同期的にページを生成するかといった違いになる。fallback:true
とfallback:blocking
の設定がある。
fallback:true
とした場合は、一度「loading...」のような描画を挟んで、非同期で遷移が可能。
fallback: blocking
と同等となる。fallback:blocking
とした場合は、SSRと同様に、同期的にページを生成して返却する。fallback: false
とした場合
true
でも"blocking"
でも機能上は問題ない。実現したいユーザー体験に応じて選んでよい。