react-native - FlatList 上的 ReactNative scrollToEnd() - 功能组件
问题描述
我正在尝试使用ReactNative
. 我面临的问题是,在将新项目添加到后FlatList
,我试图将 FlatList 项目滚动到底部,以便新添加的消息可见。
当我查看文档时,我可以看到一个名为scrollToEnd()的方法。但不确定如何按照功能组件风格的编码来使用它。因为当我用谷歌搜索时,我可以看到它ref
在类组件样式编码中使用的示例。
但是找不到如何在功能组件中使用它!
解决方案
我想你正在寻找useRef
// I hope you don't mind the typescript
import {useRef} from 'react';
import {FlatList} from 'react-native';
export const Comp = () => {
const flatListRef = useRef<FlatList<any>>();
// however you detect new items
flatListRef?.current?.scrollToEnd();
return (
<FlatList
data={[]}
renderItem={() => null}
ref={flatListRef}
/>
);
}
但我认为,如果您inverted={true}
在平面列表中使用,它应该对齐顶部,或者更好的底部(我认为)。
推荐阅读
- python - 接收 OSError:[Errno 8] Exec 格式错误:Mac 上的“chromedriver.exe”
- python - 避免从大小为 kN 的一维数组到大小为 N 的一维数组的数组操作中的 for 循环
- cython - Cython:是否有将多个 pyx 文件编译成一个扩展模块的用例
- c# - db 的返回值为 null
- bash - 在脚本中使用 docker run 超时
- java - 在 Java Spring Boot 中用两种不同类型的两个 findAll() 填充 DTO
- c - 我可以在信号处理程序中执行 free() 或 close() 吗?
- google-api - 带有 files.get 的 Google Drive API 迁移到 HTTP“webViewLink” - 如何绕过 100mb 病毒页面?
- python - builtins.ValueError:0 不在列表中
- python - 按条件替换数据框中的值与最后一行值的差异