Настройка Гэтсби / Содержательная Схема - PullRequest
1 голос
/ 04 мая 2020

Я пытаюсь добавить createSchemaCustomization для Contentful источника, где у этого источника может не быть интересующего меня поля, и поэтому Гэтсби не может вывести тип.

У меня есть создал настройку так, что мои шаблоны запросов не жалуются, но если есть запись, она тоже не поднимается. Я уверен, что, возможно, неправильно настроил настройку. Вот что у меня есть (флаг @infer, похоже, мало что делает в любом случае):

exports.createSchemaCustomization = ({ actions }) => {
  const { createTypes } = actions;
  const typeDefs = `
    type ContentfulUniversalProduct implements Node @infer {
      datesAndPricesSnippets: [DatesAndPricesSnippet]
    }
    type DatesAndPricesSnippet implements Node @infer {
      id: String
      title: String
      icon: String
      iconColor: String
      body: WithChildMarkdownRemark
    }
    type WithChildMarkdownRemark implements Node @infer {
      childMarkdownRemark: MarkdownRemark
    }
  `;
  createTypes(typeDefs);
};

Мой запрос.

Этот запрос работает, если в Contentful есть datesAndPricesSnippets И у меня нет вышеуказанной схемы настройки.

Если у меня есть настройка, то для этого запроса выводится null - независимо от того, находится ли контент в Contentful или нет.

export const query = graphql`
  query($slug: String!, $id: String!) {
    contentfulUniversalProduct {
      datesAndPricesSnippets {
        id
        title
        body {
          childMarkdownRemark {
            html
          }
        }
        icon
        iconColor
      }
    }
  }
`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...