Я пытаюсь создать тип в моем файле gatsby-node.js
, который поддерживает необязательное значение. Что, я думаю, сделано с [String!]!
.
Как я могу загрузить новый тип, который я создал внутри gatsby-node.js
на home.js
?
Гэтсби - node.js:
const path = require('path');
exports.createSchemaCustomization = ({ actions }) => {
const { createTypes } = actions;
const typeDefs = `
type markdownRemark implements Node {
frontmatter: Features
}
type Features {
title: [String!]!
description: [String!]!
}
`;
createTypes(typeDefs);
};
страниц / дома / дома. js:
export const query = graphql`
query HomeQuery($path: String!) {
markdownRemark(frontmatter: { path: { eq: $path } }) {
html
frontmatter {
features {
title
description
}
}
}
}
`;
home.md:
---
path: "/"
features:
- title: Barns
description: Praesent commodo cursus magna vel scelerisque nisl consectetur et. Nullam id dolor id nibh ultricies vehicula ut id elit.
- title: Private Events
description: Praesent commodo cursus magna vel scelerisque nisl consectetur et. Nullam id dolor id nibh ultricies vehicula ut id elit.
- title: Food and Drinks
description: Praesent commodo cursus magna vel scelerisque nisl consectetur et. Nullam id dolor id nibh ultricies vehicula ut id elit.
- title: Spa
description: Praesent commodo cursus magna vel scelerisque nisl consectetur et. Nullam id dolor id nibh ultricies vehicula ut id elit.
---
Это необходимо для работы так что если массив features
внутри фронта home.md
пуст, то GraphQL не выдаст ошибку.
Пожалуйста, не говорите мне всегда включать хотя бы одно значение в массив Поскольку это непрактично, мое решение не должно поддерживать никаких значений в моем массиве.
Я потратил два часа на изучение документации / проблем в кругах, пытаясь найти рабочее решение, пожалуйста, кто-нибудь может спасти меня !