当我使用
时,我注意到react-native panResponder onPanResponderMove方法调用 onPanResponderMove: Animated.event([null, {dx: this._pan}]),
但是当我尝试使用时:
onPanResponderMove: (e, gestureState) => {
Animated.event([null, {dx: this._pan}])
},
该方法无法调用。 是否有其他javascript语法我可以使用,以便我有一个功能范围,我可以使用Animated.event
答案 0 :(得分:3)
Animated.event()返回一个函数。如果要运行该功能,则必须调用它。我假设您的用例是您想要在每一步中执行某些操作?在这种情况下,您要查找的语法是:
onPanResponderMove: (e, gestureState) => {
...some actions...
Animated.event([null, {dx: this.state.pan.x}])(e, gestureState);
},
答案 1 :(得分:1)
如果你想包装Animated.event,你需要调用包装器并返回回调:
onPanResponderMove: (() => {
...some actions...
return Animated.event([null, {dx: this._pan}]);
})(),
这是因为Animated.event返回另一个函数(使用提供的映射将事件数据绑定到组件变量,因此它可以在它们上调用setValue
),而onManResponderMove监听器又在移动事件上调用它