javascript - 在 React 中切换 css 类

标签 javascript html css user-interface reactjs

如何使用 bool 值在 React 中的元素上切换 css 类的存在?在 Angular 2 中,我可以只做 [class.red]="isRed"。如何在 React 中做熟悉的事情?

最佳答案

在 React 中,元素使用这样的语法获取它们的类

<div className="some-class" />

但是请注意,JSX 允许属性值是 JS 表达式

<div className={"some-" + "class"} />

可用于根据某些逻辑生成类名,例如您的 bool 检查

<div className={isRed ? "red" : null} />

如果你的元素也应该有一些不依赖于变量的类并且应该总是被应用,这可以通过

来实现
<div className={"my-class " + (isRed ? "red" : null)} />

此时它似乎开始变得困惑,最好将其提取到局部变量中而不是

var className = "my-class " + (isRed ? "red" : null);
<div className={className} />

React 本身并没有提供实用函数来处理这个问题,但是 bool 模式很常见,有一个名为 classnames 的包这会将上面的内容变成

var className = cx("my-class", { "red": isRed });
<div className={className} />

关于javascript - 在 React 中切换 css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38045836/

相关文章:

javascript - 如何从数组动态创建javascript变量?

javascript提示不显示

html - css ul 和 ol 不继承填充属性

HTML css 表格宽度自适应

javascript - 开发实时更新网站的最佳方式

javascript - 仅使用正则表达式查找除电子邮件地址之外的所有内容

jquery - CSS/JQuery : how to create submenu for table row that stays visible mousing from row onto menu?

javascript - 如何使用 CSS 在图像上创建这种效果

html - 用于为 div 标签添加背景颜色的 css

javascript - 使用 webpack 和 babel 的动态 import() 语法错误