1.FlatList可以渲染多条数据,ListHeaderComponent={header组件},如果想让header组件带有粘性,就用stickyHeaderIndices={[0]},如果想有好几条数据粘性,就在数组里加[0,2,3...](发现很多ScrollView 的方法,FlatList是可以使用到,FlatList是基于ScrollView写的)

2.如果想要使用点击后滚动到某一个数据,scrollToIndex必须搭配使用ref,getItemLayout。

 <FlatListdata={data}ListHeaderComponent={<Header/>}stickyHeaderIndices={[0]}renderItem={({ item }) => (<View>{item.a}</View>)}ref={flatListRef} //滚动到指定index的item如果不设置getItemLayout属性的话,无法跳转到当前可视区域以外的位置getItemLayout={getItemLayout}/>const getItemLayout = (_data: any, index: number) => ({ length: 单条数据盒子高度, offset: 单条数据盒子高度 * index, index });const scrollToIndex = useCallback(() => {
const index = data.findIndex((item) => item.id === current.id);//找到点击的indexif (index > 0) {flatListRef.current?.scrollToIndex({ animated: true, index });}}, [current.id, data]);useFocusEffect(useCallback(() => {scrollToIndex();}, [scrollToIndex])
);

下拉刷新刷新 大神帮忙看了半天才发现是我的FlatList 引入路径有问题,导致的下拉刷新不能使用,所以注意,是从react-native里导入....

 <><Header  /><FlatListdata={data}renderItem={({ item }) => (<View >item</View>)}ref={flatListRef}getItemLayout={getItemLayout}refreshing={refreshing}onRefresh={loadData}/></>const [refreshing, setRefreshing] = useState(false); // 下拉刷新状态const loadData = useCallback(async () => {setRefreshing(true);await onRefreshList();setRefreshing(false);}, [onRefreshList]);

react native FlatList遇到的问题相关推荐

  1. 如何构建具有实时搜索功能的React Native FlatList

    by Vikrant Negi 通过Vikrant Negi 如何构建具有实时搜索功能的React Native FlatList (How to build a React Native FlatL ...

  2. React Native FlatList优化

    众所周知React Native刷新控件一般都是采用setState,对于FlatList来说就要想办法减少item的渲染,采用shouldComponentUpdate自己定义什么情况下执行刷新,有 ...

  3. React Native FlatList和SectionList列表组件

    FlatList 之前使用的组件是ListView,当时要添加一个下拉刷新,上拉加载的功能,所以对ListView做了一些封装,但是后来看官方文档,不建议再使用ListView,因为效率问题,做过An ...

  4. react native FlatList

    高性能的列表组件 import React,{Component} from 'react'; import {View,Text,FlatList} from 'react-native';expo ...

  5. React Native FlatList属性及使用详情

    FlatList属性及用法 FlatList属性 FlatList用法 FlatList属性 data:列表数据 numColumns:列数 组件内元素必须是等高的,无法支持瀑布流布局 renderI ...

  6. react native FlatList 使用详解

    高性能的简单列表组件,支持下面这些常用的功能: 完全跨平台. 支持水平布局模式. 行组件显示或隐藏时可配置回调事件. 支持单独的头部组件. 支持单独的尾部组件. 支持自定义行间分隔线. 支持下拉刷新. ...

  7. 【react native】Flatlist实现上拉滚动加载

    参考博客:React Native FlatList上拉加载.FlatList enum FooterType {Null = 0,NoData = 1,LoadingData = 2, }expor ...

  8. 如何在React Native中创建精美的动画加载器

    by Vikrant Negi 通过Vikrant Negi 如何在React Native中创建精美的动画加载器 (How to create a beautifully animated load ...

  9. 理解 React Native 中的 AJAX 请求

    曾经,大多数 Web 应用程序通过用户操作刷新整个网页以与 Web 服务器通信. 后来,AJAX(异步 JavaScript 和 XML)概念通过提供一种在后台与 Web 服务器通信的方式使 Web ...

最新文章

  1. 实战:CNN+BLSTM+CTC的验证码识别从训练到部署 | 技术头条
  2. 这 5 个能挣钱的 SpringBoot 项目,真TMD香!
  3. 图灵奖得主Jeff Ullman:机器学习不是数据科学的全部!统计学也不是!
  4. v8引擎和v12引擎_v8和v12发动机的区别
  5. matlab地址数据类型uns,使用matlab生成sine波mif文件
  6. Install and run DB Query Analyzer 6.04 on Microsoft Windows 10
  7. COCO数据集提取自己需要的类,转VOC
  8. SpringMVC处理异常
  9. 在Windows Server通过MMC导入客户证书的注意事项
  10. python开发基础作业02:三级菜单,使用字典dic及列表
  11. Django_3_路由
  12. hdoj2955 Robberies(01背包)
  13. D16 Group Decimort 2 Mac - 经典复古采样器
  14. 解密阿里线上问题诊断工具Arthas和jvm-sandbox
  15. JAVA把一个流赋给新的一个流_2020重新出发,JAVA基础,输入/输出(I/O)流
  16. 年轻时代,噢,年轻时代
  17. colorbox ajax,Colorbox弹出层插件
  18. Bacnet协议/Bacnet4j读写
  19. wifi的 2.4G 和5G
  20. Unity3d游戏中实现阿拉伯语文字正常显示

热门文章

  1. 使用VS2022创建QT界面
  2. 安装Ubuntu下的unity
  3. nstimer循环引用_NSTimer循环引用的几种解决方案
  4. 当初治理着全部宗派的生意
  5. c++中除号/ 的用法
  6. 性能测试之Jmeter参数化
  7. Mac brew 安装与使用
  8. 在VMWare上运行VOD系统
  9. 【线性 dp】B003_LC_最长湍流子数组(读题 dp / 双指针)
  10. elementui导出数据为xlsx、excel表格