1

我注意到当我使用 react-native panResponder onPanResponderMove 方法调用

  onPanResponderMove: Animated.event([null, {dx: this._pan}]),

但是当我尝试使用时:

  onPanResponderMove: (e, gestureState) => {
    Animated.event([null, {dx: this._pan}])
  },

该方法不调用。是否有另一种我可以使用的 javascript 语法,以便我有一个可以与 Animated.event 一起使用的函数范围

4

2 回答 2

3

Animated.event() 返回一个函数。如果要运行该函数,则必须调用它。我假设您的用例是您想在每一步都执行一些操作?在这种情况下,您正在寻找的语法是:

onPanResponderMove: (e, gestureState) => {
    ...some actions...
    Animated.event([null, {dx: this.state.pan.x}])(e, gestureState);
  },
于 2017-01-29T05:05:33.463 回答
1

如果你想和 Animated.event 一起做一些事情,你需要像这样传递事件参数:

onPanResponderMove: (e, gestureState) => {
    ...some actions...
    Animated.event([null, {dx: this._pan}])(e, gestureState);
  },

这是因为调用Animated.event返回另一个函数(使用提供的映射将事件数据绑定到组件变量,因此它可以调用setValue它们),这反过来又被onPanResponderMove移动事件的侦听器回调。

于 2017-01-23T19:59:35.630 回答