工具
react-window
React组件,用于有效地渲染大列表和表格数据。
react-virtualized
用于高效渲染大型列表和表格数据的 React 组件。
antd-table-infinity
基于antd-table的无限滚动组件,支持虚拟滚动。
ahooks - usevirtuallist(hooks)
提供虚拟化列表能力的 Hook,用于解决展示海量数据渲染时首屏渲染缓慢和滚动卡顿问题。
antd-Select 使用的虚拟滚动插件
案例
import React from 'react';import { FixedSizeList as List } from 'react-window';import styles from './index.module.scss';export default () => {const Row = ({ index, style }) => (<div style={{ ...style, backgroundColor: index % 2 === 0 ? '#999' : '' }}>虚拟滚动技术{index}</div>);return (<div className={styles.content}><Listwidth="100%"height={200}itemCount={100} // 总共多少行itemSize={30} // 每行高度>{Row}</List></div>);};
