我想获取当前的幻灯片索引,所以我正在尝试使用 CarouselContext。这是我从文档中得到和使用的:
const carouselContext = useContext(CarouselContext);
const [currentSlide, setCurrentSlide] = useState(carouselContext.state.currentSlide);
useEffect(() => {
function onChange() {
setCurrentSlide(carouselContext.state.currentSlide);
console.log(currentSlide)
}
carouselContext.subscribe(onChange);
return () => carouselContext.unsubscribe(onChange);
}, [carouselContext]);
return <CarouselProvider style={{ height: 'fit-content', marginLeft: '10%', marginRight: '10%'}}
isPlaying={true}
infinite={true}
naturalSlideHeight={125}
naturalSlideWidth={100}
isIntrinsicHeight={true}
lockOnWindowScroll={true}
totalSlides={3}
visibleSlides={1}
currentSlide={1}
>
<Slider style={{padding: '19px 260px'}}>
<Slide index={0}>
<TestimonialCard/>
</Slide>
<Slide index={1}>
<TestimonialCard/>
</Slide>
<Slide index={2}>
<TestimonialCard/>
</Slide>
</Slider>
</CarouselProvider>
但是当我运行这段代码时,这就是我得到的:
TypeError: Cannot read properties of undefined (reading 'state')
显然, carouselContext 未定义,尝试读取 carouselContext.state.currentSlide 给了我这个错误。我怎样才能解决这个问题?