【问题标题】:Issues with graphl query fragment into component (Gatsby+DatoCMS)将 graphql 查询片段转换为组件的问题 (Gatsby+DatoCMS)
【发布时间】:2018-07-14 12:02:25
【问题描述】:

我正在尝试通过 graphql 从 DatoCMS 将数据从我的主页传递到使用片段的组件,但是,我不断收到 TypeError: Cannot read property 'datoCmsHome' of undefined,当我在 GraphiQL 上导航时,它说片段没有在任何地方使用.

页面/index.js

export const query = graphql`
  query HomePageQuery {
    datoCmsHome {
      ...Slider_carouselImages
      introductionbody
      ourvaluesbody
      ourphilosophybody
      insuranceproviderslogos {
        id
        title
        url
      }
    }
  }
`

组件 carousel.js

const SimpleSlider = ({ data }) => ({
  render() {
    var settings = {
      dots: true,
      infinite: true,
      speed: 500,
      slidesToShow: 1,
      slidesToScroll: 1
    };
    return (
      <Slider {...settings}>
        <div>
          {data.datoCmsHome.carouselimages.map(({ id, url }) =>
            <div key={id}>
              <img src={url} />
            </div>
          )}
        </div>
      </Slider>
      );
    }
  }
);

export default SimpleSlider

export const query = graphql`
  fragment Slider_carouselImages on DatoCmsHome {
    carouselimages {
      id
      url
    }
  }
`

我有点不明白我错过了什么,所以任何帮助都将不胜感激!

【问题讨论】:

    标签: reactjs graphql gatsby


    【解决方案1】:

    发现在 index.js 上使用 &lt;SimpleSlider data={data} /&gt; 足以将数据获取到组件,而不需要任何 graphql 片段。

    【讨论】:

      猜你喜欢
      • 2021-06-20
      • 2020-08-17
      • 2020-05-18
      • 2019-11-15
      • 1970-01-01
      • 2020-09-08
      • 2020-03-23
      • 1970-01-01
      • 2019-06-12
      相关资源
      最近更新 更多