问题描述
有人可以向我解释这会对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和重新渲染要快。