我有一个包含160件物品的画廊。用户可以对图库中的项目进行排序和分组。排序基本上是即时的,因为没有任何项目被重新渲染。但是,当我对项目进行分组时,React认为每个项目都需要重新渲染(它甚至看起来不像是调用了shouldComponentUpdate),这需要几秒钟。
这是基本结构的样子:
<div key="gallery">
<div key="item1" ... />
<div key="item2" ... />
<div key="item3" ... />
</div>
然后分组后变为:
<div key="gallery">
<div key="group1" .../>
<div key="group1-gallery">
<div key="item1" ... />
<div key="item2" ... />
</div>
<div key="group2" .../>
<div key="group2-gallery">
<div key="item3" ... />
</div>
</div>
项目本身根本没有变化。反正是否说服React重新使用现有物品?是否有我应该使用的不同结构或其他方式来提供React的提示?