Я пытаюсь использовать "slickGoTo" на сайте Гэтсби, я уже делаю слайд-работы, но мне нужно использовать функцию "slickGoTo", я следую образцу скользкого кода, и это прекрасно работает
export default class SlickGoToo extends React.Component {
render() {
const settings = {
dots: false,
infinite: true,
speed: 500,
slidesToShow: 1,
slidesToScroll: 1,
};
return (
<div>
<h2 onClick={e => this.slider.slickGoTo(1)}>Slick Go To</h2>
<Slider ref={slider => (this.slider = slider)} {...settings}>
<div>
1
</div>
<div>
4
</div>
</Slider>
</div>
);
}
}
, но когда я пытаюсь реализовать на своей странице, это всегда выдает ошибку, вот моя страница:
const ProductPage = ({ data }) => {
const product = data.shopifyProduct
const price = Intl.NumberFormat(undefined, {
currency: product.priceRange.minVariantPrice.currencyCode,
minimumFractionDigits: 2,
style: 'currency',
}).format(product.priceRange.minVariantPrice.amount);
const settings = {
dots: true,
infinite: true,
speed: 500,
slidesToShow: 1,
slidesToScroll: 1
};
return (
<>
<SEO title={product.title} description={product.description} />
<Container>
<TwoColumnGrid>
<GridLeft>
<Slider ref={slider => (this.slider = slider)} {...settings}>
{product.images.map(image => (
<Img
fluid={image.localFile.childImageSharp.fluid}
key={image.id}
alt={product.title}
/>
))}
</Slider>
<Thumbnail>
{product.images.map(image => (
<div className="thumbnailWrap">
<Img
fluid={image.localFile.childImageSharp.fluid}
key={image.id}
alt={product.title}
onClick={e => this.slider.slickGoTo(1)}
/>
</div>
))}
</Thumbnail>
</GridLeft>
<GridRight>
<ProductTitle>{product.title}</ProductTitle>
<Price>{price}</Price>
<ProductDescription
dangerouslySetInnerHTML={{ __html: product.descriptionHtml }}
/>
<ProductForm product={product} />
</GridRight>
</TwoColumnGrid>
</Container>
</>
)
}
Каждый раз, когда я добавляю этот код
ref={slider => (this.slider = slider)}
Всегда получаю:
TypeError: Невозможно установить свойство 'slider' из неопределенного
Любая помощь очень ценится. Заранее спасибо!