我有一个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)
      }
    });
  }

我调试了它,控制台告诉我正在调用函数 slideNextslideBack ,以及它们内部的 setState .

我只是不确定为什么 setState 在桌面而不是在移动设备中重新呈现组件?