使用 React 添加 类
Adding classes with React
我有一个基本组件,我想在具有不同 类 的多个实例中使用。
<div className="module module--{this.props.classModifier}" ></div>
当我使用 <...classModifier="red" />
渲染上面的内容时,它不会影响渲染的内容和浏览器输出 {this.props.classModifier}
谁能指出我哪里做错了什么?
此语法将被视为纯字符串:"module module--{this.props.classModifier}"
。如果您想使用 JSX 附加字符串,请尝试使用此语法 className={"module module--" + this.props.classModifier}
.
正确的语法是:
您可以使用 ES6 中的插值语法。
<div className={`module module--${this.props.classModifier}`}></div>
您需要将代码更改为:
<div className={`module module--${this.props.classModifier}`}></div>
您在 ""
中使用 this.props.classModifier
,因此它会按原样打印。使用模板字符串
使用这个
className={`module module--${this.props.classModifier}`}
作为解释,如果您只使用双引号,那么您只是呈现一个字符串。它不会像那样获得变量引用。您必须用花括号将变量和字符串部分分开:
//Template Literals
className={`module module--${this.props.classModifier}`}
//Concatenation
className={"module module--" + this.props.classModifier}
我有一个基本组件,我想在具有不同 类 的多个实例中使用。
<div className="module module--{this.props.classModifier}" ></div>
当我使用 <...classModifier="red" />
渲染上面的内容时,它不会影响渲染的内容和浏览器输出 {this.props.classModifier}
谁能指出我哪里做错了什么?
此语法将被视为纯字符串:"module module--{this.props.classModifier}"
。如果您想使用 JSX 附加字符串,请尝试使用此语法 className={"module module--" + this.props.classModifier}
.
正确的语法是:
您可以使用 ES6 中的插值语法。
<div className={`module module--${this.props.classModifier}`}></div>
您需要将代码更改为:
<div className={`module module--${this.props.classModifier}`}></div>
您在 ""
中使用 this.props.classModifier
,因此它会按原样打印。使用模板字符串
使用这个
className={`module module--${this.props.classModifier}`}
作为解释,如果您只使用双引号,那么您只是呈现一个字符串。它不会像那样获得变量引用。您必须用花括号将变量和字符串部分分开:
//Template Literals
className={`module module--${this.props.classModifier}`}
//Concatenation
className={"module module--" + this.props.classModifier}