提问人:Bryl 提问时间:11/17/2023 最后编辑:Mark RotteveelBryl 更新时间:11/17/2023 访问量:13
如何在 PanResponder 中递增状态值
How to increment state value in PanResponder
问:
我面临着一个关于如何增加内部值的问题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
答:
0赞
Bryl
11/17/2023
#1
我设法用这个来修复它
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;
评论