react 动态 className
时间: 2024-05-10 22:14:06 浏览: 112
merge-props:合并React元素的className,样式和事件处理程序道具
在React中,我们可以使用条件运算符(ternary operator)或逻辑与(logical AND)运算符来动态设置className。例如,假设我们有一个状态变量isError,如果它为true,我们想在元素上添加一个名为error的类,否则不添加。可以这样实现:
```jsx
<div className={isError ? "error" : ""}>...</div>
```
或者使用逻辑与运算符,如果isError为true,则表达式返回"error",否则返回"",达到同样的效果:
```jsx
<div className={isError && "error"}>...</div>
```
如果我们想添加多个类名,可以使用字符串模板(template string)或数组的join方法。例如,假设我们有一个名为button的基础类和一个名为primary的额外类,我们可以这样实现:
```jsx
<div className={`button ${isPrimary ? "primary" : ""}`}>...</div>
// 或者
<div className={["button", isPrimary && "primary"].join(" ")}>...</div>
```
阅读全文