首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态className以及自定义组件中的固定类名

动态className以及自定义组件中的固定类名
EN

Stack Overflow用户
提问于 2017-06-09 20:40:15
回答 1查看 1.6K关注 0票数 2

我正在创建一个自定义组件,我希望能够使它具有足够的灵活性,以便在其他方面重用它。在它的自然形式中,它包含一个类box,这给了它一些本地样式。但是,如果我想重用这个组件并更改样式,我希望将另一个类与它已经包含的box类级联起来。只需声明className="custom-class"并将其呈现为:

期望结果

代码语言:javascript
复制
  <div class="box custom-class">
      Something
  </div>

现在我有这样的事情:

代码语言:javascript
复制
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;

但这将产生以下结果:

代码语言:javascript
复制
  <div class="box {props.className}">
      Something
  </div>

它不是解析道具并将其更改为自定义类。这就是我打算用的方法。

代码语言:javascript
复制
<Box
    showTitle={false}
    showBottom={false}
    className="custom-class"
    content={<MediaStatusBoxContent/>}
/>

我做错了什么?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-09 20:51:34

为此使用模板文字

代码语言:javascript
复制
className={`box ${props.className}`}

或者像这样使用+编写它

代码语言:javascript
复制
className={"box " + props.className}

当使用{}时,这意味着它是一个动态值,在其中我们可以使用+添加两个字符串。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44466365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档