如何解决如何使用 NativeDriver 在 onScroll 中设置多个 Animated.Values?
我有一个 Animated.FlatList,它必须在滚动事件上设置两个 Animated.Values,同时使用 y 偏移值和使用 NativeDriver。也许这可以通过向事件添加额外的侦听器来完成。但是,据我了解,该侦听器不会与本机驱动程序一起运行,这是必需的。
基本上我想做这样的事情:
<Animated.FlatList
...
onScroll={Animated.event(
[
{
nativeEvent: {
contentOffset: {
y: animatedVal1,},{
nativeEvent: {
contentOffset: {
y: animatedVal2,],{useNativeDriver: true},)}
...
/>
但是,当开始滚动时,它会抛出错误:
Invariant Violation: Event has less arguments than mapping,js engine: hermes
我正在查看 Animated.forkEvent()
,但有关该 API 的可用信息非常有限,我无法弄清楚。
解决方法
你可以试试这样的:
const animatedVal1 = new Animated.Value(0);
const animatedVal2 = new Animated.Value(0);
const scrollY = Animated.add(animatedVal1,animatedVal2);
<Animated.FlatList
...
onScroll={Animated.event(
[
{
nativeEvent: {
contentOffset: {
y: scrollY,},}
],{useNativeDriver: true},)}
...
/>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。