javascript - React 有条件地向组件应用颜色
问题描述
我正在尝试根据 4 个条件有条件地将颜色应用于 div。我通常在 className 属性中使用三元运算符,但有 4 个条件,必须有更好的方法来做到这一点。
例如 ,
<div className={`${styles.card} ${items.length > 1 && styles.blue} ${items.length > 2 && styles.green}` etc...}>data</div>
我不能使用任何其他库,要么它必须使用 react
解决方案
您可以有条件地使用类构建一个数组:
const Card = () => {
const classNames = [styles.card];
if (items.length === 1) {
classNames.push(styles.blue);
} else if (items.length > 1) {
classNames.push(styles.green);
}
return (
<div className={classNames.join(' ')}>data</div>
)
};
编辑:修改条件以使其更有意义。
推荐阅读
- ruby-on-rails - 我在哪里放置一个从rails中的api更新数据库的重复脚本
- c# - C# Nest Elastic Search 通配符查询 - 未返回任何结果
- json - 如何将 JSON 对象保存为数组,然后将其传递给 React 组件?
- ios - iPhone不断发送apple-site-association请求
- c - 如何理解 C 中 printf 语句的行为?
- python - python paramiko没有连接到主机名作为参数
- asp.net - VSTS 使用持续部署将 .NET ASP 构建到 Web 服务
- sql - Apache Ignite Continuous Queries:当有动态字段时,如何获取侦听器更新中的字段名称和字段值?
- angular - Angular ng-content:如何在里面找到元素?
- c - 将结构中的数据存储在另一个结构上