@axosoft/react-virtualized

中文文档
9.22.3-gitkraken.5发布于 2023/05/16MITESM + CJS近 30 天下载 2344

有效制作大、可滚动列表和表格数据的反应组件

中文使用文档
文档目录12 节
  1. 发起人
  2. 谈谈 react-window
  3. 开始
  4. 依赖关系
  5. 纯元件
  6. 文档
  7. 实例
  8. 支持的浏览器
  9. 朋友们
  10. 捐款
  11. 更改日志
  12. 许可证

React virtualized

NPM version NPM license NPM total downloads NPM monthly downloads CircleCI Codecov badge OpenCollective OpenCollective

反应组件以有效提供大列表和表格数据. 检查出来 演示 对于一些例子.

发起人

以下优秀公司赞助反应虚拟化:

学着成为赞助商吧!

谈谈 react-window

如果你考虑添加 react-virtualized 对一个项目,看看 react-window 作为可能较轻重量的替代品. 更多关于两个图书馆的比较.

开始

安装 react-virtualized 使用 npm.

npm install react-virtualized --save

ES6, CommunityJS, 和UMD Building 都随同发行. 例如:

// Most of react-virtualized's styles are functional (eg position, size).
// Functional styles are applied directly to DOM elements.
// The Table component ships with a few presentational styles as well.
// They are optional, but if you want them you will need to also import the CSS file.
// This only needs to be done once; probably during your application's bootstrapping process.
import 'react-virtualized/styles.css';

// You can import any component you want as a named export from 'react-virtualized', eg
import {Column, Table} from 'react-virtualized';

// But if you only use a few react-virtualized components,
// And you're concerned about increasing your application's bundle size,
// You can directly import only the components you need, like so:
import AutoSizer from 'react-virtualized/dist/commonjs/AutoSizer';
import List from 'react-virtualized/dist/commonjs/List';

注:Webpack 4使这种优化本身,见 文档。 。 。 .

如果上述语法看起来过于繁琐,或者从很多地方导入反应虚拟化组件,也可以配置Webpack别名. 例如:

// Partial webpack.config.js
{
  alias: {
    'react-virtualized/List': 'react-virtualized/dist/es/List',
  },
  ...rest
}

那你可以这样进口:

import List from 'react-virtualized/List';

// Now you can use <List {...props} />

您也可以使用全球友好的 UMD 架构 :

<link rel="stylesheet" href="path-to-react-virtualized/styles.css" />
<script src="path-to-react-virtualized/dist/umd/react-virtualized.js"></script>

现在你可以开始使用组件了. 您可以更多地了解哪些成份是虚拟的 下级。 。 。 .

依赖关系

虚拟反应的依赖性很少,大多数是由国家预防机制自动管理的. 但是,您的项目必须指定以下对等关系,以避免版本冲突: react, (中文(简体) ), react-dom。 。 。 . 国家防范机制不会自动为您安装这些设备,但会向您显示一个警告信息,并指示如何安装这些设备.

纯元件

默认情况下,所有反应虚拟组件都使用 shallowCompare 除非道具或状态已经改变,否则避免重新投降. 这偶尔会混淆用户,当收集的数据发生变化(例如: ['a','b','c'] => ['d','e','f'])但道具没有(例如 array.length) (中文(简体) ).

解决之道是让反应——虚拟化的知道外部的东西已经改变. 这可以采取几种不同的方式.

过轨道具

这个 shallowCompare 方法将检测任何道具的改变,即使它们没有被宣布为 propTypes。 。 。 . 这意味着您也可以通过影响单元格渲染的附加属性,以确保检测到变化. 例如,如果你在使用 List 生成一个清单,列出在初始渲染-反应-虚拟化后可能重新排序的项目,通常不会检测到排序操作,因为其处理的属性都没有变化. 然而,您可以通过额外的类属性来触发重交. 例如:

<List {...listProps} sortBy={sortBy} />
公共方法

Grid 财务报告和审定财务报表 Collection 组件可使用 forceUpdate。 。 。 . 对于 Table 财务报告和审定财务报表 List你需要打电话 forceUpdateGrid 确保内部 Grid 还更新。 对于 MultiGrid你需要打电话 forceUpdateGrids 确保内部 Grids 更新.

文档

API 文档可用 这里。 。 。 .

还有几种如何指导:

实例

每个组成部分的实例可见于 文件。 。 。 .

以下是每个组件的一些在线演示:

这里有一些“recipe”类型演示:

支持的浏览器

反应虚拟化的目标是支持iOS和Android的所有常绿浏览器和最近的移动浏览器. 也支持了IE 9+(虽然IE 9需要一些用户定义的自定义CSS,因为不支持弹性盒布局).

如果您发现浏览器特有的问题,请随复写例一起报告. 做这个最简单的方法 可能是放弃 这个管子。 。 。 .

朋友们

以下是一些在反应虚拟化的基础上构建的伟大组件:

捐款

使用 GitHub 问题 请求.

我积极欢迎拉动请求;学习如何 贡献。 。 。 .

更改日志

变动在 更改日志。 。 。 .

许可证

反应虚拟化 根据《麻省理工学院许可证》提供.

版本与发布记录

@axosoft/react-virtualized 共发布 9 个版本,首次发布于 2019/10/10;过去 12 个月发布了 0 个版本。

版本发布日期距今
9.22.3-gitkraken.5latest2023/05/163 年前
9.22.3-gitkraken.42023/04/293 年前
9.22.3-gitkraken.32022/01/254 年前
9.22.3-gitkraken.22022/01/134 年前
9.22.3-gitkraken.12021/10/145 年前
9.11.0-gitkraken.32019/12/206 年前

关于 @axosoft/react-virtualized 的常见问题

@axosoft/react-virtualized 是什么?

有效制作大、可滚动列表和表格数据的反应组件

如何安装 @axosoft/react-virtualized?

在项目目录运行 npm install @axosoft/react-virtualized,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^15.3.0 || ^16.0.0-alpha)、react-dom(^15.3.0 || ^16.0.0-alpha)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@axosoft/react-virtualized 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/axosoft__react-virtualized 是否存在。

@axosoft/react-virtualized 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@axosoft/react-virtualized 可以商用吗?

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

@axosoft/react-virtualized 的下载量有多少?

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

@axosoft/react-virtualized 还在维护吗?

最新版本 9.22.3-gitkraken.5 发布于 2023/05/16(3 年前);至今共发布 9 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/10/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。