Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь запустить запрос из другого файла, похоже, он не может получить данные. Странно то, что если я запускаю только один запрос в своем файле postQuery. js, он работает нормально, но когда я пытаюсь добавить несколько запросов, он ломается. Понятия не имею, почему, поскольку я возвращаю запросы в операторе switch.
ошибка: «Ошибка: не удалось получить результат этого StaticQuery.
Вероятно, это ошибка в Гэтсби, и если обновление страницы не помогло, откройте проблему в https://github.com/gatsbyjs/gatsby/issues "
Я пытался очистить проект несколько раз и перезапустить его.
postQuery. js
import React from 'react'
import { useStaticQuery, graphql } from 'gatsby'
const CaseStudies = graphql`
query {
allContentfulCaseStudy {
edges {
node {
title {
title
}
featuredImage {
fixed {
src
}
title
description
}
date(formatString: "MMMM DD YYYY")
content {
json
}
categories
type
}
}
}
}
`
const Testimonials = graphql`
query {
allContentfulTestimonial {
edges {
node {
title
quote {
quote
}
name
location
occupation
}
}
}
}
`
export const buildQuery = (slug) => {
console.log('slug', slug)
switch (slug) {
case 'case-studies':
return CaseStudies;
break;
case 'testimonials':
return Testimonials;
break;
default:
return null;
}
}
Категория. js
import React, { Component } from 'react'
import { useStaticQuery, graphql } from 'gatsby'
import { buildQuery } from '../queries/postQuery'
const Category = ({data, slug}) => {
const postData = [];
const filters = [];
const post = useStaticQuery(buildQuery(slug));
console.log('post', Object.keys(post))
return (<div>test</div>)
}
export default Category