react-native - 将 ref 附加到 Reanimated ScrollView 以访问 .scrollTo
问题描述
使用 react-native-reanimated v1。
我创建了一个重现此问题的小吃 - https://snack.expo.io/@noitidart/reanimated-scroll-view-ref
我已经从 ScrollView 创建了一个可恢复的组件,如下所示:
import { ScrollView } from 'react-native-gesture-handler';
import Reanimated from 'react-native-reanimated';
const ReanimatedScrollView = Reanimated.createAnimatedComponent(ScrollView);
当我渲染它时,我想获得它的参考,这样我就可以做到ref.current.scrollTo()
。然而,裁判在没有它的情况下回来scrollTo
了。这是我的代码:
const ref = useRef();
const scrollToFoo = () => {
if (ref.current) {
ref.current.scrollTo({ y: 100 });
}
}
return (
<ReanimatedScrollView ref={ref} />
)
如果我使用常规的 ScrollView 执行此操作,则可以ref.current
正确scrollTo
使用它。
解决方案
您可以使用getNode()
来访问组件:
ref.current.getNode().scrollTo({ y: 100 });
推荐阅读
- unix - 停止在本地跟踪 CVS 文件?
- ios - JSON URLComponents URLQueryItem 失败
- javascript - Javascript 从浏览器打开新选项卡/窗口,并使用 javascript 在选项卡内加载不同的内容
- dreamweaver - 如何从显示扩展属性的文件中删除锁定
- javascript - 如何在 Wasm 中制作协程?
- c# - 使用 GuidRepresentation.Standard GuidSerializer 执行查询时 MongoDB C# 驱动程序出现问题
- .net - 即使从 oracle 网站安装 ODP.NET,TNSNAMES.ORA 文件也丢失
- tensorflow - 通过 TensorFlow 中的注意力机制获取 Top-K 输入向量
- javascript - 为什么数组循环在 Python 中可以删除重复的条目,而 JS 不行?
- javascript - 尝试用 JS 构建一个计算器