★ key

2020-04-29  本文已影响0人  行走的蛋白质

key 是什么,能做什么,怎么做的?



作用

实例描述

//this.state.users内容
this.state = {
   users: [{id:1,name: '张三'}, {id:2, name: '李四'}, {id: 2, name: "王五"}],
   ....//省略
}
render() {
   return(
       <div>
           <h3>用户列表</h3>
           {this.state.users.map(u => <div key={u.id}>{u.id}:{u.name}</div>)}
       </div>
   )
}

渲染数组中 key 存在的必要性

渲染数组 index 作为 key 的实践

{this.state.data.map((v,idx)=><Item key={idx} v={v} />)}
// 开始时:['a','b','c']=>
<ul>
    <li key="0">a <input type="text"/></li>
    <li key="1">b <input type="text"/></li>
    <li key="2">c <input type="text"/></li>
</ul>

// 数组重排 -> ['c','b','a'] =>
<ul>
    <li key="0">c <input type="text"/></li>
    <li key="1">b <input type="text"/></li>
    <li key="2">a <input type="text"/></li>
</ul>

上一篇下一篇

猜你喜欢

热点阅读