我有一个Carousel组件,它根据我作为prop传递给组件的索引呈现不同的图像 . 该索引现在正在通过将调用setState(在父组件中声明)的函数传递到轮播箭头的onClick prop来更新 .
一切都在桌面上按预期工作(即图像在点击箭头时改变),但重新渲染不会发生在移动设备上 .
以下是我传递给onClick prop的函数:
slideNext = () => {
this.setState((prevState) => {
const nextIndex = prevState.index + 1;
return {
index: (nextIndex === projects.length ? 0 : nextIndex)
}
});
}
slideBack = () => {
this.setState((prevState) => {
const prevIndex = prevState.index - 1;
return {
index: (prevIndex <= 0 ? (projects.length - 1) : prevIndex)
}
});
}
我调试了它,控制台告诉我正在调用函数 slideNext
和 slideBack
,以及它们内部的 setState
.
我只是不确定为什么 setState
在桌面而不是在移动设备中重新呈现组件?