【发布时间】:2020-10-29 18:19:57
【问题描述】:
问题:
有没有办法根据三种情况使用 react 和 CSS 来设置单个组件的背景颜色?
示例:
值 = a - b;
开关(值)
case 1: value > 0 //设置背景为“绿色”。
case 2: value
case 3: value === 0 //设置背景为“黄色”。
我不是在寻找三元,因为它要么是 1 要么是 0,我正在寻找在其他 React Stack 溢出问题中找不到的东西。
示例代码:
const App = () => {
const array = [{
count: 2,
stock: 2
},
{
count: 30,
stock: 20
},
{
count: 20,
stock: 30
}
];
const differences = array.map((items) => {
return <p > {
items.stock - items.count
} < /p>;
});
return <div > {
differences
} < /div>;
};
export default App;
我想要第一个对象
是绿色的,
第二个对象是蓝色/黄色
第三个对象是红色的。
100% 动态。
任何信息都会有所帮助,谢谢!
【问题讨论】:
-
你可以在 react 中使用带有 className 的函数名。像这样。 className={getClass(items)}
-
@Vimal Patel,谢谢,伙计!那行得通,我只是调用了一个带有 3 个 if 语句的 ES6 函数。然后为每个语句返回一个类名。最后,我将函数名传递给了 className 对象。
-
也许你可以看看 styled-components。很有活力。您可以通过将道具传递给风格来使您的风格依赖于道具。 CSS-in-JS
标签: javascript css arrays reactjs object