React-Virtualized:如何在不重新渲染其下方的行的情况下插入/删除行?

问题描述

我有一份昂贵组件的虚拟清单。有时,列表会发生变化,但会强制重新渲染上移或下移一个位置的行。

例如,如果有5个可见行,而我在索引3处插入了新行,则将卸载第3行中的组件,然后将其重新装入第4行中。

如何防止卸载和重新渲染?

解决方法

如你所知,rowRenderer 函数给出了一个 'key' 属性。请勿使用该键值并使用您自己的键(例如项目 ID)。 这将减少您的重新渲染。