将多个类应用于ReactJS组件

时间:2017-12-07 02:24:50

标签: reactjs

我需要将多个类应用于React组件而不需要安装任何额外的东西。这可能吗?

<Component id="test1" className="blue-text kps hide-on-small-and-down" />

我也试过

<Component id="test1" className={`blue-text kps hide-on-small-and-down`} />

但没有任何作用。

我一直在寻找几个小时,但没有找到任何不需要额外安装的东西。 请不要在没有解释原因的情况下进行投票。 谢谢

2 个答案:

答案 0 :(得分:0)

当您将className直接添加到组件时,它会作为可在组件内部this.props.className访问的道具传递给组件的该实例,并且您可以将该类应用于组件中的实际 DOM元素。

请记住,React组件不是实际的 DOM元素,而是更高阶的逻辑构造,它将被转换为一个或多个DOM元素(同时还添加行为等)。 CSS类仅适用于DOM元素。

答案 1 :(得分:0)

我在代码中看到了className的错误用法。 className 代表标准html中的标准属性。引用documentation

“要指定CSS类,请使用className属性。这适用于所有常规DOM和SVG元素,例如,和其他。”

适用于常规DOM和SVG元素,您可以使用 className 属性。

示例Fiddle

<div className="one two three"> 
    This is the {this.props.name}
</div>

使用示例。

添加另一个点我不认为使用 className 将道具传递给子元素是一个好主意,因为 className 在这里有用。