出现如标题所述bug,有两个原因
- Table组件设置的rowKey不唯一
- render函数执行时,虚拟dom的渲染机制
第一个原因,是因为rowKey设置的是每一列数据的id,而后台返回的数据有重复的,导致rowKey不唯一了
第二个原因,是因为render函数执行时,新旧两个虚拟dom树会进行对比,两棵dom树进行节点替换的依据就是key值,如果key值相同,说明是同一个元素,那么新的元素就会替换掉旧的元素。
所以,因为第一个原因导致key出现了重复,那么react虚拟dom去渲染的时候,替换掉其中一条数据之后,会以为其余重复的数据也替换掉了,从而导致,table表单切换页面的时候,出现额外展示上一页重复数据的情况
博客指出React Table组件出现bug,有两个原因。一是Table组件设置的rowKey不唯一,因后台返回数据id重复所致;二是render函数执行时,虚拟dom渲染机制中,新旧dom树对比依据key值替换节点,key重复会使虚拟dom误判,导致table表单切换页面展示上一页重复数据。
6811

被折叠的 条评论
为什么被折叠?



