Reactjs 在移动过程中做出本机停止盘手势的反应
我想在Reactjs 在移动过程中做出本机停止盘手势的反应,reactjs,react-native,Reactjs,React Native,我想在PanResponder系统仍在运行时停止它。i、 e.如果满足条件,取消或结束手势 我有一个Animated.Value连接到手势,还有一个监听该值的人。如果大于100,我希望暂停平移手势。您需要在移动时设置PanResponder中返回false以停止PanResponder。考虑下面的例子: this._panResponder = PanResponder.create({ {...} onMoveShouldSetPanResponder: (e, gestureStat
PanResponder
系统仍在运行时停止它。i、 e.如果满足条件,取消或结束手势
我有一个
Animated.Value
连接到手势,还有一个监听该值的人。如果大于100,我希望暂停平移手势。您需要在移动时设置PanResponder中返回false以停止PanResponder。考虑下面的例子:
this._panResponder = PanResponder.create({
{...}
onMoveShouldSetPanResponder: (e, gestureState) => {
if (stopPanResponder) {
return false;
}
return true;
},
{...}
onPanResponderTerminationRequest: () => true
});
您可以通过在父视图上启用
PanResponder
来停止PanResponder
系统
从目前的情况来看,我们有:
使用调用onStartShouldSetResponder和onMoveShouldSetResponder
冒泡模式,其中最深的节点首先被调用。这意味着
当出现多个视图时,最深的组件将成为响应者
对于*ShouldSetResponder处理程序,返回true。这在中国是可取的
大多数情况下,因为它确保所有控件和按钮都可用
然而,有时家长会希望确保它成为
响应者。这可以通过使用捕获阶段来处理。在
应答器系统从最深的组件冒出气泡,它将执行
捕获阶段,在*ShouldSetResponderCapture上启动。所以如果一个父母
View希望防止孩子在触摸时成为响应者
开始时,它应该有一个onStartShouldSetResponderCapture处理程序
返回true
在您的情况下,当满足条件时,应该为父视图设置onMoveShouldSetPanResponderCapture
onMoveShouldSetPanResponderCapture: () => this.isMyConditionTrue(),
并且,还要在子响应程序上设置以下属性:
onPanResponderTerminationRequest: () => true,
以便允许父级捕获响应者