javascript - 如何遍历 React 组件中数组内对象的属性?
问题描述
这是我的父组件的渲染功能:
render() {
const users = [
'tom': {
phone: '123',
email: 'hotmail'
},
'rob': {
phone: '321',
email: 'yahoo'
},
'bob': {
phone: '333',
email: 'gmail'
},
];
const list = users.map((user) =>
(<User
name={user}
phone={users.phone}
email={users.email}
/>),
);
return <ul>{list}</ul>;
}
输出显示如下:
这是子组件的渲染函数:
render() {
const {
name,
phone,
email,
} = this.props;
const info = [name, phone, email];
const item = info.map((index) => (
<li key={index}>
{ index }
</li>
));
return item;
}
我怎样才能让它与电话号码和电子邮件一起显示?不知道我做错了什么。谢谢。
解决方案
起初,这不是有效的 javascript:
const users = [
'tom': {
phone: '123',
email: 'hotmail'
},
// ...
];
您应该定义一个数组或一个对象。假设你users
是一个对象文字:
const users = {
'tom': {
phone: '123',
email: 'hotmail'
},
// ...
};
然后您可以遍历对象的条目:
const list = Object.entries(users).map(([name, info]) =>
(<User
name={name}
phone={info.phone}
email={info.email}
/>)
);
但是Object.entries()
并非所有浏览器都支持,请检查它是否适用于您的环境。
推荐阅读
- python - 在 Heroku 上部署 Django 项目时没有名为“config.settings”的模块
- c++ - 延长 Boost 日志核心的生命周期
- python - Discord.py 在消息中列出用户时的反应
- html - 为输入元素创建自定义模式
- python - 尝试使用 VS Code 使用 Python3 打开 CSV 文件时出现意外结果
- excel - 在 sub 中使用函数时出现类型不匹配错误
- python - 使用 DataFrame 引用产品密钥中的值并将它们加在一起
- python - 使用beautifulsoup抓取网站后如何访问属性
- node.js - 使用 Jenkins 替换配置文件中的密码
- python - 我正在使用 python 页面,我创建了两个顶层,一旦按下正确的登录,不知道如何在它们之间切换