# @bang88/react-native-ultimate-listview 中文文档

规范地址：https://npmcn.com/package/%40bang88/react-native-ultimate-listview/

版本：4\.1\.1
npm 元数据更新时间：2024-08-08T02:05:39.084Z
中文译文更新时间：2026-11-07T16:22:22.077Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bang88/react-native-ultimate-listview
原文对照：https://npmcn.com/package/%40bang88/react-native-ultimate-listview/?lang=original
项目主页：https://github.com/gameboyVito/react-native-ultimate-listview#readme
源码仓库：https://github.com/gameboyVito/react-native-ultimate-listview

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：45.6 kB，11 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2018-12-15T14:00:57.757Z
- 最新版本发布：2024-08-08T02:05:38.908Z
- 近 30 天下载量：42644（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：8（近 12 个月 0 个）

## 中文简介

一个高性能的"平面"(FlatList),提供自定义的牵引至再生的QQ自動-相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相 真正的最终版本,我已经做了 最棘手的部分给你, 只是遵循显示的指示

## 安装

```sh
npm install @bang88/react-native-ultimate-listview
```

也可以使用：`pnpm add @bang88/react-native-ultimate-listview`、`yarn add @bang88/react-native-ultimate-listview`、`bun add @bang88/react-native-ultimate-listview`

## README

# 反应本地最终列表视图

该图书馆包括: **两个** 组件 : `UltimateListView` 财务报告和审定财务报表 `UltimateRefreshView`

-   **终极ListView**:表现良好 **平面图** 提供自定义的牵引再刷新 & 自动刷新 & 无限滚动 & 无限滚动 & 网格视图布局 & 刷新行 。 真正的最终版本,我已经做了 最棘手的部分给你, 你可以把这个模块作为一个 **增强平面** 与官方版本相比.
-   **终极再现视频**: 可刷新 **滚动视图** 提供自定义的牵引至再生特性,该特性已在UltimateListView中使用,但可以独立使用.

此模块支持两个 **iOS系统** 财务报告和审定财务报表 **机器人** 平台.

所有代码都写在 **ES6 语法**,并符合 **埃斯林特语Name** 语法

**快速安装**

-   如果在反应内置 < 0.43: `yarn add react-native-ultimate-listview@3.0.2`
-   如果在反应-内在反应上 0.43 `yarn add react-native-ultimate-listview@latest`

**已知问题** (v3.3.0):在Android上,如果您正在使用 Custom RefreshView,且您第一次负载数据的总高点低于设备高度,那么刷新View可能仍然会粘在上方. 然而,如果你加载的数据超出了你的屏幕, 一切都很好。 这个问题只在Android上发生,任何公关都是受欢迎的.

# 演示

|  | iOS系统 | 机器人 |
| --- | --- | --- |
| **平面图** | ![](https://github.com/gameboyVito/react-native-ultimate-listview/blob/master/Demo/ios.gif) | ![](https://github.com/gameboyVito/react-native-ultimate-listview/blob/master/Demo/android.gif) |

# 使用量

```
import { UltimateListView, UltimateRefreshView } from 'react-native-ultimate-listview'
    <UltimateRefreshView onRefresh={this.onRefresh}>
         <YourView/>
    </UltimateRefreshView>

    <UltimateListView
       ref={ref => this.listView = ref}
       key={this.state.layout}
       onFetch={this.onFetch}
       keyExtractor={(item, index) => `${index} - ${item}`} 
       refreshableMode="advanced" // basic or advanced
       item={this.renderItem} // this takes three params (item, index, separator)       
       displayDate
       arrowImageStyle={{ width: 20, height: 20, resizeMode: 'contain' }}/>
```

或者你可以通过这个链接查看: [使用量](https://github.com/gameboyVito/react-native-ultimate-listview/wiki/Usage)

# 文档

-   [概览](https://github.com/gameboyVito/react-native-ultimate-listview/wiki)
-   [平地迁移](https://github.com/gameboyVito/react-native-ultimate-listview/wiki/FlatList-Migration)
-   [使用量](https://github.com/gameboyVito/react-native-ultimate-listview/wiki/Usage)
-   [列表查看 API](https://github.com/gameboyVito/react-native-ultimate-listview/wiki/ListView-API)
-   [刷新视图 API](https://github.com/gameboyVito/react-native-ultimate-listview/wiki/RefreshView-API) - 多数道具在
-   [平分 API](https://github.com/gameboyVito/react-native-ultimate-listview/wiki/Pagination-API)
-   [方法学 API](https://github.com/gameboyVito/react-native-ultimate-listview/wiki/Methods-API)
-   [可移动提示](https://github.com/gameboyVito/react-native-ultimate-listview/wiki/Swipable-Row)

# 中断更改

-   提供一个新的构成部分,以扩展
    
-   将导入语法更改为 :
    
    `import { UltimateListView, UltimateRefreshView } from 'react-native-ultimate-listview'`
    

# 捐款

@gameboyVito - (笑声) [游戏boyvito@gmail.com](mailto:gameboyvito@gmail.com)

1.  叉出此仓库, 然后运行 `yarn` 或者说 `npm install` 在根文件夹中
2.  在修改代码后, 在根文件夹中运行 `yarn eslint-fix` 或者说 `npm run eslint-fix`
3.  确保您的代码符合 Eslint 规则,然后承诺并按您的代码
4.  打开你的Github,给我一个拉请求。 我会尽快审查的,谢谢.

# 为什么平板电脑

我找到一些文章来解释你为什么需要使用"平地"(FlatList)而不是"遗产ListView". 有一些明显的原因:

1.  平起平起就跟 **UI 收集视频** 或者说 **回收机View**,可以大幅降低内存使用. 它还在您拥有极长的列表时提供更平滑的动画.
2.  FlatList 支持卷轴ToIndex 函数,当您要滚动到带有索引的项目时,它相当方便,而不是要依赖 Y-offset.
3.  FlatList推荐开发者使用"纯组件"来减少不必要的再发送,这真的可以提升性能,使你的应用运行更快.

-   [中国文章](https://segmentfault.com/a/1190000008589705)
-   [官方文章](https://facebook.github.io/react-native/blog/2017/03/13/better-list-views.html)

# 许可证

麻省理工学院

## 常见问题

### @bang88/react-native-ultimate-listview 是什么？

一个高性能的"平面"\(FlatList\),提供自定义的牵引至再生的QQ自動-相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相 真正的最终版本,我已经做了 最棘手的部分给你, 只是遵循显示的指示

### 如何安装 @bang88/react-native-ultimate-listview？

在项目目录运行 npm install @bang88/react-native-ultimate-listview，或使用 pnpm add / yarn add / bun add。

### @bang88/react-native-ultimate-listview 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/bang88\_\_react-native-ultimate-listview 是否存在。

### @bang88/react-native-ultimate-listview 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @bang88/react-native-ultimate-listview 可以商用吗？

@bang88/react-native-ultimate-listview 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @bang88/react-native-ultimate-listview 的下载量有多少？

根据 npm 官方下载统计，@bang88/react-native-ultimate-listview 在 2026/10/08 – 2026/11/06 这 30 天内被下载 42,644 次，日均约 1,421 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @bang88/react-native-ultimate-listview 还在维护吗？

最新版本 4\.1\.1 发布于 2024/08/08（2 年前）；至今共发布 8 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/12/15。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

