javascript - 如何为带有数据数组的 React 组件传递内联样式的道具?
问题描述
这是我的 ShowData 组件,它在我的 App.js 中呈现,然后在我的 index.js 中呈现
import React from "react";
import SwatchData from "./SwatchData";
import { DataTestContainer } from "./DataTestContainer";
function ShowData(props) {
const DataComponent = SwatchData.map(data => (
<DataTestContainer color={data.color} key={data.id} hex={data.hex} />
));
return (
<div style={{ background: "{props.data.color}" }}>{DataComponent}</div>
);
}
export default ShowData;
我希望根据 data.color 属性动态更改最终 div 的样式
const SwatchData = [
{
id: 1,
color: "red",
hex: "#E73550"
},
{
id: 2,
color: "green",
hex: "#A6A7DC"
}
];
export default SwatchData;
解决方案
而不是映射SwatchData
然后尝试单独包装它,而是一起做 -
function ShowData(props) {
const DataComponent = SwatchData.map(data => (
<div style={{ backgroundColor: data.color }}>
<DataTestContainer color={data.color} key={data.id} hex={data.hex} />
</div>
));
return DataComponent;
}
此外,您需要backgroundColor
使用内联样式更改背景颜色。
推荐阅读
- java - Code Can't pass java blue j testerfile 但代码中没有显示错误
- appium - 以编程方式启动appium服务器时如何在单独的文件中生成日志
- can-bus - 带有 RevPi CAN Connect 的 SocketCAN 错误被动。硬件或软件问题?
- javascript - 表达如何在静态文件夹中使用 Import / require()
- angular - 微前端 Angular 11 中的 Polyfills
- javascript - 我正在尝试遍历本地存储购物车并添加不在服务器购物车中的项目,但只添加最后一个项目
- java - 在不重新启动 GlassFish 服务器的情况下刷新资源和更新页面
- rust - 为什么可以在函数上指定多个通用生命周期?
- typescript - 为什么有区别的联合打字稿不起作用?
- forms - vuetify v-text-field 上的 keyup.enter 问题