小编jon*_*nst的帖子

Material-ui TreeView 性能(避免重新渲染未更改的子树)

我如何使用material-ui的TreeView,其中所有数据都在单一真实来源的javascript数据结构中,并在修改数据时避免对未更改的子树部分进行重新渲染(对输入使用身份检查)(添加/删除/重命名节点、更改选择、更改打开/关闭状态等)?https://material-ui.com/components/tree-view/上没有这样的示例,并且使用“丰富对象”示例来表示大型宽树(约 1000 个元素,例如在完整二叉树中),在我的计算机上重新渲染所有内容大约需要一秒钟。

通过手动执行或使用不可变数据结构库,输入树可以在修改时重用先前渲染的子树。例如,给定以下树,

      A
    /  \
   B    C
  / \    \
D    E    F
Run Code Online (Sandbox Code Playgroud)

如果您想向 F 添加子 X,那么您将为 X、F、C 和 A 创建新节点,但可以保留 B、D 和 E 节点。

对于大型宽树,我们如何利用这一点来获得可接受的性能(我想说<50ms,理想情况下只有几毫秒)?

treeview performance material-ui

5
推荐指数
0
解决办法
850
查看次数

标签 统计

material-ui ×1

performance ×1

treeview ×1