You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中如何添加多个类名?当前写法报错求解决

React中设置多个类名的正确方法

你之前的写法错误在于用逗号分隔类名——在JSX的大括号语法里,逗号是逗号运算符,只会返回最后一个值,而且这种写法不符合className需要字符串的要求,自然会报错。下面是几种正确的实现方式:

1. 模板字符串拼接(最常用)

用ES6模板字符串把多个类名用空格拼接成一个字符串:

<p
  className={`${Styles.headerbtn} ${Styles.headerbtnchat}`}
  disableElevation
>
  <img src="/assets/images/Chat_Bubble.png" alt="" />
  <span className={Styles.headerbtntxt}>Chat us</span>
</p>

2. 数组转字符串

把类名放进数组,再用join(' ')转成空格分隔的字符串,这种方式适合需要添加条件类名的场景:

<p
  className={[Styles.headerbtn, Styles.headerbtnchat].join(' ')}
  disableElevation
>
  <img src="/assets/images/Chat_Bubble.png" alt="" />
  <span className={Styles.headerbtntxt}>Chat us</span>
</p>

如果需要根据条件动态添加类名,可以这么写(自动过滤空值):

// 假设hasChatBtn是控制类名显示的状态
<p
  className={[
    Styles.headerbtn,
    hasChatBtn && Styles.headerbtnchat
  ].filter(Boolean).join(' ')}
  disableElevation
>
  <img src="/assets/images/Chat_Bubble.png" alt="" />
  <span className={Styles.headerbtntxt}>Chat us</span>
</p>

内容的提问来源于stack exchange,提问作者Asmath S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 06:40:49