私はギャツビーにまったく慣れていないので、カスタムルート(スラッグ)をテンプレートとして作成できるかどうか疑問に思っています。ユースケースは次のようになります。
/articles/name-of-the-article
ルートArticle.js
を使用してAPI(つまり、StrapiヘッドレスCMS)から取得した情報が入力されたコンポーネントを提供しますname-of-the-article
。いくつかの調査の結果、gatsby-plugin-create-client-pathsを使用する方がはるかに簡単な方法があることがわかりました。yarn
またはを使用してインストールするだけでnpm
、gatsby-config.js
次のものを追加できます。
{
resolve: `gatsby-plugin-create-client-paths`,
options: { prefixes: [`/articles/*`] },
},
これは、次のようなすべてのリクエストスラッグを意味します。ページ/articles/the-slug
をリクエストし、Gatsbyが提供するarticles.js
ページを使用しLink
て、次のstate
ように小道具を小道具に渡すことができます。
<Link to="/articles/the-slug" state={{ slug: "the-slug", ...etc }}>Anchor Text</Link>
このようにして、src/pages/articles.js
接頭辞が/articles
。のスラッグのテンプレートページになります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加