LoginSignup
7
4

More than 3 years have passed since last update.

Gatsby+Contentful+GraphQLでデータが重複(2重)に取得されてハマった件

Posted at

Gatsby+Contentful+GraphQLの構成でサイト作成をしていた際に、少しハマったのでメモしておきます。

状態

  • Contentful側ではデータは1件
  • GraphQLで取得するとデータが重複して取得される

それぞれの状態はこんな感じです。

Contentful側ではデータは1件

一覧の見た目上は一件です。

スクリーンショット 2020-10-18 10.09.11.png

GraphQLで取得するとデータが重複して取得される

GraphQLで取得すると2件取れます...

スクリーンショット 2020-10-18 10.10.28.png

原因

原因は、Contentful側のLocale設定でした。
→デフォルトでアカウント作成すると、複数Locale設定されていると思います(※2020/10/16現在)。

スクリーンショット 2020-10-18 10.11.56.jpg

GraphQLでLocaleも取得する

英語(en-US)とドイツ語(de-DE)が取得できていることが確認できました。

スクリーンショット 2020-10-18 10.23.35.png

対処

  1. Qureyの調整(言語でフィルターする)
  2. Contentful側の設定変更

Qureyの調整(言語でフィルターする)

当然1件になります。

スクリーンショット 2020-10-18 10.38.02.png

Contentful側の設定変更

必要な言語のみEnableにします。
→今回はドイツ語(de-DE)をDisableにします。

スクリーンショット 2020-10-18 10.39.43.jpg

スクリーンショット 2020-10-18 10.41.00.png

test2を追加して、確認します。
→test2は設定が反映されて、ドイツ語のコンテンツが作成されていません。
→作成済のコンテンツはContent管理画面で別途修正する必要があります。

スクリーンショット 2020-10-18 10.44.03.png

本事象、暫く困惑しましたが、複数Locale保存したい場合は役に立ちますね。

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4