7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Next.jsでSSRのページをSSGに書き換える

Last updated at Posted at 2021-08-03

はじめに

大した内容ではないのですが、詰まった個所 (具体的には後述する3番目)があったので知見として共有します。

1. getServerSideProps => getStaticProps

変数名を変更する。
TS使用時は、GetServerSidePropsGetServerSidePropsContextも、それぞれGetStaticPropsGetStaticPropsContextに書き換える必要があります。

2. getStaticPaths の作成

以下の返り値を持つgetStaticPathsを作成します。

{
  paths: {params: object}[],
  fallback: boolean | 'blocking'
}

TSを使用する場合、関数の型はGetStaticPathsです。

3. getStaticPropsでNext.js APIを使用するのを止める

(このAPIは、/page/apiのことを指します)
Next.jsのAPI機能を使用しており、かつgetStaticProps内でfetchしている場合、ビルド時点ではAPI機能が立ち上がっていないため、別にサーバーを立ててそちらに向けるか、getStaticProps内で同様の処理をする必要があります。
個人的には好きではありませんが、API側の根幹の処理部分を別の関数として切り出してimportするのが修正としては手っ取り早い形になるかと思います。

7
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?