Я пытаюсь интегрировать слайдер Slick в gatsby и запускать методы slick с помощью пользовательского кода.
Я пытался написать компонент класса, но у меня возникли проблемы с получением списка продуктов GraphQL из shiopify и созданиемпродукт слайдер.Любая помощь будет оценена.
Я использую gatsby-shopify-starter для разработки проекта e-com *
//import statements
export default class ProductSimilar extends Component {
constructor(props) {
super(props);
this.next = this.next.bind(this);
this.previous = this.previous.bind(this);
}
next() {
this.slider.slickNext();
}
previous() {
this.slider.slickPrev();
}
render() {
const data = useStaticQuery(
graphql`
query {
allShopifyProduct(
limit: 10,
sort: {
fields: [createdAt]
order: DESC
}
) {
edges {
node {
id
title
handle
createdAt
images {
id
originalSrc
localFile {
childImageSharp {
fluid(maxWidth: 910) {
...GatsbyImageSharpFluid_withWebp_tracedSVG
}
}
}
}
variants {
price
}
}
}
}
}
`
)
var settings = {
dots: false,
infinite: true,
speed: 500,
slidesToShow: 4,
slidesToScroll: 4
};
return (
<div class="section fbt four-product-slider">
<div class="ol-container">
<div class="top">
<div class="titles">
<div class="section-title underline">You May Also Like</div>
</div>
<div class="pagination slider-1">
<div class="arrow left prev-slide-ftb" id="slider1prev" onClick={this.previous}><a class="bx-prev" href=""><i></i></a></div>
<div class="text"><span class="current-idx">1</span> / <span class="total-slides">4</span></div>
<div class="arrow right next-slide-ftb" id="slider1next" onClick={this.next}><a class="bx-next" href=""><i></i></a></div>
</div>
</div>
<div class="bx-wrapper slider-1">
<div class="bx-viewport" aria-live="polite">
<div class="slider-container slider-1">
<div class="slide bx-clone" aria-hidden="true">
<Slider ref={c => (this.slider = c)} {...settings}>
{data.allShopifyProduct.edges.map(x => (
<div>Each product data</div>
))}
</Slider>
</div>
</div>
</div>
<div class="bx-controls"></div>
</div>
</div>
</div>
);
}
}
Я хочу получать данные с помощью GraphQL