我正在尝试使用片段将通过graphql从DatoCMS传递的数据从我的主页传递到组件,但是,我不断收到TypeError: Cannot read property 'datoCmsHome' of undefined
,当我在GraphiQL上导航时,它表示该片段不是在任何地方使用。
page / 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
}
}
`
我有点迷失了我所缺少的,所以我们将不胜感激!
答案 0 :(得分:0)
发现在index.js上使用<SimpleSlider data={data} />
足以将数据获取到组件,而无需任何graphql片段。