🕰️

【NextJS】SSGしたページの「最後にSSGをした日時」を取得する

2023/04/23に公開

はじめに

こちらの記事では、SSGやISRでホスティングしているNext.jsアプリケーションで「最後にSSGをした日時」を取得するテクニックを紹介します。用途としてはブログサイトなどでたまーに見る、「このページは○日前に更新されました」などの文言を表示をしたい場合などに、今回のテクニックが使えるでしょう。

1. getStaticPropsでSSG実行時の日時を取得

getStaticProps関数内で日時を取得、そして取得した日時をReactコンポーネントへ渡します。
getStaticPropsはSSG実行時に走るので、その時点の日時を取得できるわけですね。

...

export const getStaticProps: GetStaticProps = async () => {

  const buildTimestamp = new Date().toISOString()

  return {
    props: {
      buildTimestamp,
    }
  }
}

...

2. Reactコンポーネントでpropsからビルド日時を取得

propsとして渡ってきたbuildTimestampを取得します。


const Component: NextPage<{ buildTimestamp: string }> = ({ buildTimestamp }) => {

console.log("最終更新日時 ->", buildTimestamp)

return (
... 
// 出力
// SSGした日時が取得できている!!
最終更新日時 -> 2023-04-22T12:07:27.923Z

以上です!

Discussion