Я использую Ant Design в качестве основы дизайна для моего приложения. Фреймворк имеет компонент Карусель , компонент предоставляет два метода для переключения панелей в карусели.
Вот пример использования его в Javascript .
Вот моя попытка сделать это, используя Typescript:
interface State {
slider: ReactNode;
}
interface Props {}
class ImageCarousel extends Component<Props, State> {
private carousel: any;
constructor(props: Props) {
super(props);
this.carousel = React.createRef();
}
nextPane() {
this.carousel.next();
}
prevPane() {
this.carousel.prev();
}
render() {
return (
<CarouselWrapper>
<RegularButtonWrapper>
<RegularButton
size="large"
icon="caret-left"
onClick={this.prevPane}
/>
</RegularButtonWrapper>
<FlexCarousel>
<Carousel
ref={node => (this.carousel = node)}
speed={700}
effect="fade"
autoplay
autoplaySpeed={3000}
>
<img src={IU} />
<img src={IU2} />
<img src={IU3} />
<img src={IU4} />
<img src={IU5} />
</Carousel>
</FlexCarousel>
<RegularButtonWrapper>
<RegularButton
size="large"
icon="caret-right"
onClick={this.nextPane}
/>
</RegularButtonWrapper>
</CarouselWrapper>
);
}
}
export default ImageCarousel;
Выше не работает - TypeError: Cannot read property 'carousel' of undefined
.
Как я могу использовать методы с Typescript?