特定のGraphQLエンドポイントを使用し、クエリとしてクリーンなJSON構造を提供していますが、結果を取得すると「エッジ」および「ノード」タグを取得します。それは明らかな利益なしに私のデータを汚染しているように見えます。なぜそこにあり、データをより速く簡単に解析するためにそれらを取り除くことができますか?
簡単な言葉で短い紹介から始めましょう
GraphQlリレーの仕様
接続:
edges
、pageInfo
...などのメタデータを持つオブジェクトのコレクションです.pageInfoには、hasNextPage
、hasPreviousPage
、startCursor
、endCursor
が含まれます。
hasNextPage
は、使用可能なエッジがさらにあるかどうか、またはこの接続の終わりに達したかどうかを示します。レコードの配列:エッジ
GraphQLList
がありますが、ページネーションなどの機能はなく、オブジェクトの配列(データ)のみがあります。各エッジには
node
:レコードまたはデータcursor
:ページネーションの中継に役立つbase64エンコード文字列https://facebook.github.io/relay/graphql/connections.htm
ノード:
connectionArgs(first, last, after, before)
リレーページネーションはとして動作します
コレクション内のすべてのオブジェクトを取得し、connectionArgsを介して使用されるfirst/last
xレコードに基づいてスライスを返します
after/before
は、ノードからカーソルを使用して必要なスライス(データ)の数をGraphQLサーバーに示すために使用されます
nodeDefinitions
、globalFieldId
、nodeInterfaces
など、考慮すべき事項が他にもたくさんあります
https://github.com/graphql/graphql-relay-js#object-identification