有人可以用“ Animated.event”向我解释“ onScroll”吗?

问题描述

有人可以向我解释这会对onScroll的Animated.event中的本机文档做出反应吗?还是可以为我提供指向它的引用的链接,plz。我不应该将一个函数传递给onScroll(event)=> {Some function}吗?

onScroll={Animated.event(
       [{nativeEvent: {contentOffset: {x: this._scrollX}}}],{listener: (event) => console.log(event)},// Optional async listener
     )}

另外,this._scrollX中的Animated.Value是否接收到contentOffset的x值?怎么来的?

https://reactnative.dev/docs/animated#event

解决方法

也许是您的答案。它包含2种类型的onscroll函数句柄

How does Animated.Event work in React Native?

,

手势(例如平移或滚动)以及其他事件可以使用 Animated.event()直接映射到动画值,该滚动值会在您滚动时触发(针对您的情况)。第一级是允许跨多个arg映射的数组,并且该数组包含嵌套对象。

例如,使用水平滚动手势时,您需要执行以下操作才能将 event.nativeEvent.contentOffset.x 映射到 this._scrollX (应为Animated.Value),而不必设置状态并重新呈现组件层次结构。这种优化方式比调用setState和重新渲染要快。

参考: https://reactnative.dev/docs/animations#animated-api

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...