React Native 如何在PanResponder中增加状态值

vc9ivgsu  于 5个月前  发布在  React
关注(0)|答案(1)|浏览(45)

我遇到了一个问题,如何增加PanResponder内部的值
下面是我的代码:

const [currentIndex, setCurrentIndex] = useState(0)

const panResponderLeft = useRef(
    PanResponder.create({
      onStartShouldSetPanResponder: () => {
        return true;
      },
      onPanResponderMove: (_, gestureState) => {
        updateLeftPosition(gestureState.dx);
      },
      onPanResponderRelease: (_, gestureState) => {
        if (gestureState.dx > 50) {
         setCurrentIndex(currentIndex+1)
        }
      },
    }),
  ).current;

字符串
实际输出是,当我尝试滑动时,currentIndex的值从0更新为1,但当我再次尝试滑动时,值没有任何变化,保留为1

kuhbmx9i

kuhbmx9i1#

我用这个修好了

setCurrentIndex(prevIndex => prevIndex + 1);

字符串
更新后的代码是

const [currentIndex, setCurrentIndex] = useState(0)

const panResponderLeft = useRef(
    PanResponder.create({
      onStartShouldSetPanResponder: () => {
        return true;
      },
      onPanResponderMove: (_, gestureState) => {
        updateLeftPosition(gestureState.dx);
      },
      onPanResponderRelease: (_, gestureState) => {
        if (gestureState.dx > 50) {
         setCurrentIndex(prevIndex => prevIndex + 1);
        }
      },
    }),
  ).current;

相关问题