从另一个文件调用查询时无法获取Gatsbyjs StaticQuery

时间:2020-05-09 08:59:51

标签: reactjs gatsby

我遇到的问题是,当我尝试从另一个文件运行查询时,它似乎无法获取数据。奇怪的是,如果我仅在postQuery.js文件中运行一个查询,它就可以正常工作,但是当我尝试添加多个查询时,它就会中断。我不知道为什么,因为我要在switch语句中返回查询。

错误为“错误:无法获取此StaticQuery的结果。

这可能是盖茨比(Gatsby)的错误,如果刷新页面无法解决该问题,请在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;
  }
}

Category.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

0 个答案:

没有答案