Я пытаюсь добавить 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
}
}
}
`