React Native中如何为FlatList Ref定义类型解决ESLint any报错
为FlatList Ref指定TypeScript类型的解决方法
- 首先从react-native包中导入FlatList的类型定义
import type { FlatList } from 'react-native'; - 为
useRef添加泛型约束,指定ref对应的实例类型为FlatList,因为初始值为null,所以需要联合null类型
修正后的ref声明代码:const flatListRef = useRef<FlatList | null>(null);
如果你的FlatList渲染的列表项有自定义类型,也可以给FlatList传入对应泛型实现更严谨的类型校验,写法为
useRef<FlatList<你的自定义列表项类型> | null>(null)
完成以上修改后,TypeScript就可以正确识别flatListRef?.current上的scrollToOffset等FlatList原生实例方法,不会再触发any类型的不安全调用报错。
内容的提问来源于stack exchange,提问作者İlker
相关产品推荐
相关产品推荐

