【问题标题】:Animated.event does not change stateAnimated.event 不改变状态
【发布时间】:2019-04-07 19:54:43
【问题描述】:

在 react-native 中,我使用的是找到 here 的 Swiper 模块:

<Swiper
      bounces={true}
      loop={false}
      showsPagination={false}
      onScroll={this.handleScroll}
      scrollEventThrottle={1}
    >...

然后在渲染方法之外,我这样定义handleScroll:

handleScroll = Animated.event(
  [{ nativeEvent: { contentOffset: { x: this.state.left } } }],
  {
    listener: event => {
      console.log(this.state.left);
    }
  });

在 Swiper 上执行滚动并查看输出时,没有任何变化。

我知道将 Animated.event 直接放入 onScroll 中,它的工作原理是这样的,但我很好奇为什么它不起作用

【问题讨论】:

    标签: react-native scroll react-animated


    【解决方案1】:

    Animated.event() 返回一个函数处理程序,您需要调用该函数。 试试这个。

    handleScroll = (event) => Animated.event(
      [{ nativeEvent: { contentOffset: { x: this.state.left } } }],
      {
        listener: event => {
          console.log(this.state.left);
        }
      })(event);
    
    

    【讨论】:

      猜你喜欢
      • 2021-07-01
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-14
      • 2019-11-15
      相关资源
      最近更新 更多