我个人觉得key值在组件生成的虚拟dom的时候也起作用,因为key值相同,props不变的话,通过shouldComponent()优化,不会render重新生成新的虚拟dom?
1 2 3 4 5 6 7 8 9 10 11 | this.state = { datas: [{name: 'a', id: 'a1'}, {name: 'b', id: 'b1'}] } render(){ return
{this.state.datas.map((item, index) => { } |
如果点击一个按钮操作(这里没写)使this.state.datas的数据顺序颠倒,该案例通过shouldComponentUpdate优化,不会重新render。但是如果不使用key值, 组件都会重新render。
不知道大家对react key值的作用怎么理解,它究竟有多少作用?在哪里起作用的