【React】react 相同层级,相同的key为什么还会正确的渲染结果?

【React】react 相同层级,相同的key为什么还会正确的渲染结果?

【React】react 相同层级,相同的key为什么还会正确的渲染结果?

相同层级,key相同应该不会再去diff,实际测试发现还是会正确更新,并且控制台也没有任务报错警告信息?
哪怕把 key写个一个固定的值,还是能正常渲染,为什么?

react版本: 16.4.0
`

import React, { Component } from "react";

export default class Page extends Component {

state = {

lists:[11,22,33]

};

changeLists =()=>{

this.setState({

lists:[1,2,3]

})

}

componentDidMount() {

}

render() {

return (

<div>

<button onClick={this.changeLists}>change</button>

<ul>

{

this.state.lists.map((item,index)=>{

return <li key={index}>

{item}-{index}

</li>

})

}

</ul>

</div>

);

}

}

`

回答

key的作用是快速找到对应的旧节点,并非不进行DIFF算法

以上是 【React】react 相同层级,相同的key为什么还会正确的渲染结果? 的全部内容, 来源链接: utcz.com/a/77520.html

回到顶部