1

有人可以向我解释一下 onScroll 中 Animated.event 中的本机文档吗?或者只是可以为我提供一个指向它的参考的链接,请。我不应该将函数传递给 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

4

2 回答 2

1

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

例如,在使用水平滚动手势时,您将执行以下操作以将event.nativeEvent.contentOffset.x映射到this._scrollX(应该是 Animated.Value),而无需设置状态并重新渲染组件层次结构。这是以比调用 setState 和重新渲染更快的优化方式完成的。

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

于 2020-11-06T07:34:37.407 回答
0

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

Animated.Event 在 React Native 中是如何工作的?

于 2020-11-06T06:35:24.327 回答