核心思路:dom渲染与key值有关系,如果想实现上述需求,则需要关注改变前后的循环项的key值是否发生改变
currentCabinet?.map((item, index) => <BaseInfo key={`currentCabinet${item?.ciId}`} sceneKey={sceneKey} currentCabinet={item} />)
如以上示例,以ciId为key值,可以保证即使数组发生变化,但循环时的key与改变前的一致,此时dom就不会重新渲染(保留数据),并且dom相关样式配置也不会发生变化,针对拖拽可用