getStaticPropsの実装
与えられたid
で投稿を表示するために必要なデータを取得する必要があります。
これを行うには、lib/posts.js
を再度開き、以下のgetPostData
関数をファイルの最後に追加します。この関数はid
に基づいて投稿データを返します:
次に、pages/posts/[id].js
を開き、以下の行:
を次のコードに置き換えます:
これで投稿ページはgetStaticProps
内でgetPostData
関数を使用して投稿データを取得し、propsとして返すようになりました。
次に、Post
コンポーネントを更新してpostData
を使用するようにします。pages/posts/[id].js
のPost
コンポーネントを以下のコードに置き換えてください:
これで完了です!以下のページにアクセスしてみてください:
各ページのブログデータが表示されるはずです:
素晴らしい!動的ルートの生成に成功しました。
問題が発生しましたか?
エラーが発生した場合は、ファイルに正しいコードが含まれているか確認してください:
pages/posts/[id].js
はこのようになっている必要がありますlib/posts.js
はこのようになっている必要があります- (まだ動作しない場合)残りのコードはこのようになっている必要があります
それでも解決しない場合は、GitHub Discussionsでコミュニティに質問してください。GitHubにコードをプッシュしてリンクを共有すると、他の人が確認しやすくなります。
まとめ
ここまでに行ったことを再度グラフィカルにまとめます:
まだブログのマークダウンコンテンツを表示していません。次にこれを実装しましょう。