← 返回
未分类

List Virtualization

Use when optimizing or reviewing large lists, virtual scrolling, windowing, react-window, TanStack Virtual, variable-height rows, dynamic measurement, infini...
用于优化或审查大型列表、虚拟滚动、窗口化、react‑window、TanStack Virtual、可变高度行、动态测量、无限滚动等场景。
bovinphang bovinphang 来源
未分类 clawhub v2.5.1 2 版本 100000 Key: 无需
★ 1
Stars
📥 83
下载
💾 1
安装
2
版本
#latest

概述

列表虚拟化优化

Purpose

通过窗口化只渲染可视区域,解决大列表 DOM 过多和滚动卡顿。

Procedure

  1. 先确认列表规模和瓶颈:500+ 项、滚动掉帧、DOM 节点过多或内存飙升才引入虚拟化。
  2. 先遵循项目现有框架、依赖和设计系统约束,再按场景选库:React 可考虑 react-window 或 TanStack Virtual;Vue/Solid/Svelte、动态测量、网格或跨框架场景优先考虑 TanStack Virtual;遗留 react-virtualized 只维护不新增。
  3. 明确 item size、overscan、容器高度、key、滚动容器和 resize 行为。
  4. 无限滚动时分离数据分页和 DOM 虚拟化;数据获取可联用数据获取 workflow。
  5. 验证 DOM 节点数、滚动 FPS、键盘/屏幕阅读器体验和 Ctrl+F/SEO 限制。

详细参考

涉及是否需要虚拟化、库选型、固定高度、可变/动态高度、无限滚动、网格虚拟化和性能注意事项时,加载 references/virtualization-patterns.md

Constraints

  • SEO 关键内容不要只存在于虚拟项中。
  • 浏览器原生 Ctrl+F 无法搜索未挂载项目。
  • Row 根元素必须透传虚拟库提供的 style/measure ref。
  • overscan 过大会浪费内存,过小会白屏。
  • 动态高度测量要处理 ResizeObserver 和布局抖动。

Expected Output

10000+ 项列表滚动接近 60fps,DOM 节点数稳定在可视区域及缓冲区范围,内存从 O(n) 降至 O(visible)。

版本历史

共 2 个版本

  • v2.5.1 当前
    2026-06-09 19:02
  • v2.5.0
    2026-06-07 13:25 安全 安全

安全检测

腾讯云安全 (Keen)

队列中

腾讯云安全 (Sanbu)

队列中

🔗 相关推荐

dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 198 📥 68,175
it-ops-security

Frontend Security Review

bovinphang
用于审查前端安全风险,如XSS、CSRF、敏感数据泄露、不安全的DOM API、不可信的用户输入、认证/令牌处理等。
★ 1 📥 328
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 686 📥 330,823