Gatsby js StaticQuery не может быть получен при вызове запроса из другого файла - PullRequest
0 голосов
/ 09 мая 2020

Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь запустить запрос из другого файла, похоже, он не может получить данные. Странно то, что если я запускаю только один запрос в своем файле 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...