使用Gatsby+Contentful+GraphQL时遇到了重复获取数据的问题,导致陷入困境
在使用Gatsby+Contentful+GraphQL进行网站开发时遇到了一些困难,所以我在这里做个笔记。
状态
-
- Contentful側ではデータは1件
- GraphQLで取得するとデータが重複して取得される
每个状态的感觉如下。
只需要一种选择,对以下内容进行汉语重述:
Contentful方面的数据记录为1条。
这个列表上看起来只有一项。
当使用GraphQL进行获取时,数据会出现重复获取的情况。
使用GraphQL查询可以获取到2个结果。
导致这一情况的因素是什么?
原因是Contentful的Locale设置。
→如果您默认创建账户,我认为会设置多个Locale(※截至2020年10月16日)。
使用GraphQL可以获取Locale信息
确认我们已成功获取到英语(en-US)和德语(de-DE)的信息。
处理
- 更改Contentful的设置以调整Qurey(通过语言进行过滤)。
查询调整(通过语言进行筛选)
当然会合并成一件。
Contentful设置的更改
只启用必需的语言。
→这次我们将禁用德语(de-DE)。
添加 test2 并确认。
→ test2 的设置未生效,未创建德语内容。
→ 已创建的内容需要在内容管理页面进行额外修改。
这个事情,一开始让我有点迷惑,但是如果想要保存多个区域设置的话,这会非常有用呢。