reactjs - 渲染大量组件实例时 React-select 导致加载缓慢
问题描述
我有一个应用程序,它本质上是一个表格视图,有许多行和列的选择输入,每个选择输入可以有 1000 个选项。表视图中的每一列是每个选择输入的同一组数据,每一行是数据库中的不同文档。当使用带有这么多选项的常规选择时,我们会遇到疯狂的延迟。所以我环顾四周,决定使用两个包的组合。
演示示例:https ://codesandbox.io/s/react-windowed-select-inside-react-window-dh24r?file=/index.js
我的计划是与 结合react-window
,react-windowed-select
但这也有非常糟糕的性能问题。延迟在初始渲染时尤其明显。(请注意单击React Select Rows
按钮时的加载时间)。
在 React 中处理这类应用程序的最佳方式是什么?我目前认为可能有 2 个选项,但我确信还有很多其他选项。
- 找到一种使用现有的两个包来提高性能的方法。
- 编写一些更加自定义的内容,使用纯文本加载所有行,并且
react-windowed-select
每列隐藏一个组件。当用户单击将成为选择输入的内容时,我们将选择输入的列定位为就好像它位于单击的位置并打开它。
任何帮助或建议表示赞赏。
解决方案
推荐阅读
- android - 在 hashmap 中存储多个 edittext 值并发布到服务器
- python - OSMNX - 在我的学习区域尝试获取公交路线时,我得到了空的 df
- python - 使用 selenium 进行测试时,Firefox 是否有端点?
- javascript - 即使在使用未定义的 var 类型的变量初始化后,在块范围内也会注销意外值
- python - 没有 Sklearn 的 X 和 Beta 的普通最小二乘线性回归预测
- ios - 在你的颤振项目中找不到颤振 sdk 中的飞镖?
- javascript - 如何更新 JS 对象以使用 JS 对表单数据进行更改?
- flutter - 从 Flutter 中的不同文件创建 TextButton
- outlook - 如何从电子邮件链接或网页打开 Outlook 联系人或日历?
- powerbi - 如何为服务主体生成访问令牌和嵌入令牌?