前提・実現したいこと
Gatsbyjsで作成するGraphQLでの項目 nodes
/ edges
の特性、使用シーンについて知りたいです。
が導入済みであること
発生している問題・エラーメッセージ
nodes
/ edges
のどちらをどういう使用シーンで使うべきかの知見を深めたいです。
前提のパッケージのプラグインを導入後、GraphQLを作成する際に、
allMarkdownRemarkの項目に nodes
/ edges
が出ていますが、どちらも同じ内容を出力することが可能なように見受けられます。
該当のソースコード
GraphQL
1query sample { 2 allMarkdownRemark( 3 limit: 1000 4 ) { 5 edges { 6 node { 7 id 8 frontmatter { 9 path // 対象リソースのメタデータ 10 title // 対象リソースのメタデータ 11 } 12 } 13 } 14 nodes { 15 id 16 frontmatter { 17 path // 対象リソースのメタデータ 18 title // 対象リソースのメタデータ 19 } 20 } 21 } 22}
後述のスレッドでも言及されていますが、nodesが新しく追加されたものとのことでした。
私の認識としては以下のような捉え方でいます。
全体のリソースを取得する処理はnodes
を使用し、一部のリソースを取得する際には、edges
を利用していく想定でいますが、使用シーンとしては妥当でしょうか。
また、他にこういうパターンでも利用されている場合がありましたらご教示していただけると幸いです。
試したこと
質問のスレッドがありました。
https://www.reddit.com/r/gatsbyjs/comments/mrmsc8/edges_vs_nodes/
上記によると以下の内容が利点として挙げられると読み取りました。
edge ... カテゴリページ、次の投稿、前の投稿といった別のnodeに移動することができる.
nodes ... 新しくapiとして追加されたものである. ショートカットみたいなもの.
補足情報(FW/ツールのバージョンなど)
package.jsonから抜粋 "gatsby": "^3.14.2", "gatsby-transformer-remark": "^4.11.0",
あなたの回答
tips
プレビュー