说明
{}
里面可以放任何数据,如果我们往 {}
里面放一个存放 JSX 元素的数组会怎么样?let icon = 'imgSrc';
const users = [
{ username: 'Alian wilison', userIcon: icon, id: 'a1' },
{ username: 'Awan killer', userIcon: icon, id: 'a2' }
];
// ---------------------
render(){
{users.map(user => {
return (
<div key={user.id}>
<img
src={user.userIcon}
alt="logo"
style={{
display: `block`,
width: `40px`,
marginRight: `15px`
}}
/>
<p>{user.username}p>
div>
);
})}
}
复制代码
当然你可以使用 for 循环和其他循环。
render(){
const usersElements = [] // 保存每个用户渲染以后 JSX 的数组
for (let user of users) {
usersElements.push( // 循环每个用户,构建 JSX,push 到数组中
姓名:{user.username}
照片:{user.userIcon}
) } return ( {usersElements} ) }
key
去标注这个元素。<div>adiv>
<div>bdiv>
<div>cdiv>
// 改变一下位置
<div>adiv>
<div>cdiv>
<div>bdiv>
复制代码
<div key='a'>adiv>
<div key='b'>bdiv>
<div key='c'>cdiv>
复制代码
我们可以看到
key
值,因为这样 react 的虚拟 DOM 渲染的时候效率会高一些。 一般情况下,key
必须 unique。
...
class Index extends Component {
render () {
return (
<div>
{users.map((user, i) => <User key={i} user={user} />)}
div>
)
}
}
...
复制代码
class Index extends Component {
//初始化一个 list 数组
state = {
list:[]
}
dataList = async () => {
try {
const param = { id };
let response = await http.get(API.datalist(), param);
// 把得到数据放进 state 中
this.state.list.push(response);
this.setState({
list: response
});
} catch (error) {
alert(error);
}
};
render(){
// 取出数据
const { list } = list;
return (){
{
// 使用 map 遍历渲染数据
list.map(value =>{
value.name
})
}
}
}
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有