自己再写项目的时候需要完成一个需求
需要做到 向左滑动一定距离,然后跳转到另一个页面。
在写的时候,也发现usestate 异步问题,无法同步数据。采用了 useRef()的方法。
const A = ({ navigation }) => {
const horizontalRef = useRef<number>(0)
const _eCashResponderMove = (e, g) => {
horizontalRef.current = g.dx
}
const panResponder = useRef(
PanResponder.create({
onMoveShouldSetPanResponder: () => true,
onPanResponderGrant: () => undefined,
onPanResponderMove: _eCashResponderMove,
onPanResponderRelease: () => {
if (horizontalRef.current <= -150) {
//跳转下一页
}
}
})
).current
return (
<View style={styles.body}>
<View {...panResponder.panHandlers}>
<B />
</View>
</View>
)
}