我有一份约。 2000问题,我正在尝试创建一个界面,您可以使用文本输入过滤所有这些。
我尝试通过this React tutorial,因为我认为它会表现得足够好,但是存在相当大的滞后。或者至少当我在Electron容器中运行代码时(也许我会用Webpack编译它的性能更好)。我只是尝试将我的代码放入jsfiddle并使用3000个元素,性能开始受到影响。
用html和js搜索这么多对象是不是徒劳无功,还是有更简单的方法来提高性能?
答案 0 :(得分:2)
因此滞后不是因为过滤,而是因为您试图在一次点击中渲染太多对象。您可以通过在过滤器输入中键入一系列零来查看此信息。每个零类型需要更少的时间,显然结果大小越来越小。
如果您只渲染结果集中的前100个项目(即使每个输入更改都处理了所有3000个项目),我已更新您的小提琴here以显示性能。
基本上我只生成完整的rows
变量,然后在渲染之前使用.slice(0, 100)
生成截断版本。
在这种情况下你应该做的是考虑UI / UX,并且实际上不需要同时渲染数千个项目。你可以实现某种分页或无限滚动等。