GraphQL / Gatsby / Prismic-查询中“ edges.node.data”和“ nodes.data”之间的差异

时间:2019-10-05 03:47:29

标签: graphql gatsby prismic.io

我正在关注this中型教程,以使盖茨比与Prismic合作。

在GraphiQL资源管理器中,下面的两个查询都产生相同的结果,并且想知道何时应该在另一个上使用一个查询(即 edges.node.data nodes.data < / strong>):

查询#1:

query Articles {
  articles: allPrismicArticle {
    edges {
      node {
        data {
          title {
            text
          }
          image {
            url
          }
          paragraph {
            html
          }
        }
      }
    }
  }
}

查询2:

query Articles {
  articles: allPrismicArticle {
    nodes {
      data {
        title {
          text
        }
        image {
          url
        }
        paragraph {
          html
        }
      }
    }
  }
}

1 个答案:

答案 0 :(得分:1)

您已经发现,完全没有区别。 nodes可以看作是edges.map(edge => edge.node)的快捷方式。使用graphql返回的数据时,这将为我们节省一些键入时间。

在少数情况下,查询边很有用,例如在allMarkdownRemark查询中,edges可能包含有用信息,例如帖子总数。