const users = [
{username:'James',age:'31',team:'骑士'},
{username:'Anthony',age:'31',team:'尼克斯'},
{username:'Harden',age:'27',team:'火箭'}
]
class ForLoop extends Component{
render(){
const userEle = [];
for(var i in users){
userEle.push(
<div>
<div>姓名:{users[i].username}</div>
<div>年龄:{users[i].age}</div>
<div>队伍:{users[i].team}</div>
<hr />
</div>
)
}
return(
<div>{userEle}</div>
)
}
}
class MapFunction extends Component{
render(){
return(
<div>
{users.map((user)=>{ // 根据ES6 的语法 map 遍历
return(
<div>
<div>姓名:{user.username}</div>
<hr />
</div>
)
})}
</div>
)
}
}
class User extends Component{
render(){
const user = this.props.user;
return(
<div>
<div>姓名:{user.username}</div>
<div>年龄:{user.age}</div>
<hr />
</div>
)
}
}
class MapFunctionTwo extends Component{
render(){
return(
<div>
{users.map((user,i)=>{return(<User key={i} user={user}/>)})}
</div>
)
}
}
//对于这种列表式的,都要为每个元素加上 key ,这个 key 必须是每个元素唯一的标识。一般就是后台返回的id
//没有key的话,如果只是换了Jamse和Anthony的位置,React.js就会重新渲染元素出来,然后Virtual-DOM..
//有了就直接换位置就好了