首页 > 解决方案 > Gatsby 中的多个查询错误“找到多个“根”查询”

问题描述

通过本教程创建帖子模板(我在第 4 部分): https ://www.joaopedro.cc/blog-com-gatsby-e-react-parte-4

但是在执行“PostPage”查询时会发生错误:

Multiple "root" queries found: "PostPage" and "PostPage".
Only the first ("PostPage") will be registered.

Instead of:

1 | query PostPage {
2 |   markdownRemark {
3 |     #...
4 |   }
5 | }
6 | 
7 | query PostPage {
8 |   markdownRemark {
9 |     #...
10 |   }
11 | }

Do:

1 | query postPageAndPostPage {
2 |   markdownRemark {
3 |     #...
4 |   }
5 |   markdownRemark {
6 |     #...
7 |   }
8 | }

我查看了类似问题的其他答案,据我了解,这是一个区分大小写的问题,但据我所知,一切看起来都是正确的。

我不会错位的。:( 提前致谢!

标签: reactjsgraphqlgatsbyroot

解决方案


这里的错误消息实际上很有帮助,但它并没有完全接受。

问题是您只能有一个查询并且您有多个。解决方案是在单个查询中查询您需要的所有数据,而不是像错误所暗示的那样将其拆分为多个。

唉,您正试图通过同一字段获取我想象的两个不同的数据集,默认情况下这会给您带来另一个错误。但这里有一个简单的解决方案:使用别名对结果中的字段名称进行重复数据删除。

query PostPage {
  firstPost: markdownRemark {
    #...
  }
  secondPost: markdownRemark {
    #...
  }
}

推荐阅读