【发布时间】:2020-01-22 19:25:31
【问题描述】:
我正在学习 react,但在 JSX 中显示键值对时遇到问题。对象数组如下所示。
const heroSection = [
{
"Heading color": "#1F1235",
"Text color": "#1B1425",
"Button color": "#FF6E6C",
"Background color": "#F4EFFC",
"Accent text color": "#E2D9F1"
},
{
"Heading color": "#1F1235",
"Text color": "#1B1425",
"Button color": "#FF6E6C",
"Background color": "#F4EFFC",
"Accent text color": "#E2D9F1"
}
];
我正在尝试在 JSX 中显示键值对。 我的循环方法。
HeroSectionColors.map(color => {
Object.keys(color).forEach(colorItem => {
console.log(colorItem, color[colorItem]);
});
});
在控制台中,键值对显示为我想要的。我想在 JSX 中显示键值对。
{HeroSectionColors.map(color => {
Object.keys(color).forEach(colorItem => (
<button className="button-hues">
<span className="hues-display"></span>
<div className="hues-info">
<span className="section-color-name">{colorItem}</span>
<span className="color-hex">{color[colorItem]}</span>
</div>
</button>
));
})}
上面的代码不起作用并且在浏览器中没有呈现任何内容。任何帮助表示赞赏。 附言对于任何格式错误,我们深表歉意。
【问题讨论】:
-
Array.forEach()用于副作用,不返回任何内容。请改用Array.map()。另请查看Object.entries(),它比Object.keys()更适合这种情况。 -
请您发布解决方案,无法使其正常工作。
-
<div>inside<button>是一个有趣且绝对无效的标记。
标签: javascript reactjs