反应虚拟化的CellMeasurer性能

时间:2018-02-16 07:41:12

标签: reactjs react-virtualized

我计划对我的项目实施反应虚拟化,因为当前的解决方案无法处理动态高度。

在我的情况下,列表具有不同的项目高度(高度取决于内容)。此外,这些项目可以按需扩展和减少。反应虚拟化是否可以通过流畅的动画处理这种功能?

1 个答案:

答案 0 :(得分:0)

对我们来说效果很好。我们正在使用MultiGrid(这样我们可以有行和列标题),并且我们也有可变的行高。这需要使用CellMeasurer。然而,需要注意的一点是,当使用可变行高时,如果有很多列,性能会受到影响。即使单元格是虚拟化的,它们仍然必须“渲染”(测量)行中的每个单元格,以便确定该行的行高。我在这种配置中发现,50列大约是合理性能的上限。对于固定高度的行,这根本不是问题。我们正在考虑使用一种算法,该算法基于我们的数据知识来定义行高,以避免在我们具有>的情况下使用CellMeasurer。 50列。这意味着我们将使用rowHeight函数。 Brian在文档中有一个链接,讨论使用CellMeasurer的性能问题: https://github.com/bvaughn/react-virtualized/blob/master/docs/CellMeasurer.md#limitations-and-performance-considerations