我正在创建一个自定义组件,我希望能够使它具有足够的灵活性,以便在其他方面重用它。在它的自然形式中,它包含一个类box,这给了它一些本地样式。但是,如果我想重用这个组件并更改样式,我希望将另一个类与它已经包含的box类级联起来。只需声明className="custom-class"并将其呈现为:
期望结果
<div class="box custom-class">
Something
</div>现在我有这样的事情:
import React from 'react';
import { Row, Col } from 'react-flexbox-grid';
const Box = (props) => (
<div className='box {props.className}'>
{props.showTitle &&
<Row between="xs" className="box-top">
<span className="box-title">{props.title}</span>
</Row>
}
<Col xs={12} className="box-info">
{props.content}
</Col>
{props.showBottom &&
<Col xs={12} className="box-bottom">
{props.bottom}
</Col>
}
</div>
);
export default Box;但这将产生以下结果:
<div class="box {props.className}">
Something
</div>它不是解析道具并将其更改为自定义类。这就是我打算用的方法。
<Box
showTitle={false}
showBottom={false}
className="custom-class"
content={<MediaStatusBoxContent/>}
/>我做错了什么?
提前感谢
发布于 2017-06-09 20:51:34
为此使用模板文字:
className={`box ${props.className}`}或者像这样使用+编写它
className={"box " + props.className}当使用{}时,这意味着它是一个动态值,在其中我们可以使用+添加两个字符串。
https://stackoverflow.com/questions/44466365
复制相似问题