我正在使用React-Native PanResponder进行一个小项目。
我的目标:我试图捕获用户是否在触摸屏幕而不是四处移动。
我的问题:onMoveShouldSetPanResponder(evt, gestureState) 当用户仅触摸时,我无法在其中运行任何代码
来阻止PanResponder。
我尝试console.log了参数gestureState或随机字符串,但没有响应。
我的代码:
componentWillMount(){
this._panResponder = PanResponder.create({
onStartShouldSetPanResponderCapture: () => true,
onStartShouldSetPanResponder: (evt, gestureState) => true,
onMoveShouldSetPanResponderCapture: (evt, gestureState) => true,
onMoveShouldSetPanResponder: (evt, gestureState) => {
// no console.log shown in this scope.
console.log(gestureState);
console.log("a string inside should set on move")
// the PanResponder still works despite this returns false
return false;
},
onPanResponderMove : (evt, gState) => {
// this works perfectly.
this.setState({addAngle: this.state.addAngle + gState.vy*40});
},
})
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:我在这里错过了什么吗?我看到了其他人的代码片段,它们似乎运行得很好。
我在其中看到了示例代码:https : //gist.github.com/teameh/dd055d546a3bd8f85b9516840e3a45f3
技术:
反应本机cli(无曝光)
Android Emulator(Android Studio)的android API版本23
注意:我尚未在任何Iphone设备上进行测试。
干杯!
小智 5
我通过删除onStartShouldSetPanResponder解决了这个问题。我无法指向任何文档来支持此操作,但是我相信onStartShouldSetPanResponder和onMoveShouldSetPanResponder是互斥的。
| 归档时间: |
|
| 查看次数: |
1829 次 |
| 最近记录: |