将 graphql 查询片段放入组件 (Gatsby+DatoCMS) 的问题
Issues with graphl query fragment into component (Gatsby+DatoCMS)
我试图通过 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
}
}
`
我有点迷失了自己所缺少的东西,因此非常感谢您的帮助!
发现在 index.js 上使用 <SimpleSlider data={data} />
足以将数据获取到组件,而不需要任何 graphql 片段。
我试图通过 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
}
}
`
我有点迷失了自己所缺少的东西,因此非常感谢您的帮助!
发现在 index.js 上使用 <SimpleSlider data={data} />
足以将数据获取到组件,而不需要任何 graphql 片段。