react使用map循环渲染dom时,增加或删减数组,但想保持其余的dom与数据不发生改变

 

核心思路:dom渲染与key值有关系,如果想实现上述需求,则需要关注改变前后的循环项的key值是否发生改变

 currentCabinet?.map((item, index) => <BaseInfo key={`currentCabinet${item?.ciId}`} sceneKey={sceneKey} currentCabinet={item} />)

如以上示例,以ciId为key值,可以保证即使数组发生变化,但循环时的key与改变前的一致,此时dom就不会重新渲染(保留数据),并且dom相关样式配置也不会发生变化,针对拖拽可用

posted @ 2024-03-19 17:09  SimoonJia  阅读(32)  评论(0编辑  收藏  举报