首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在React - Conditional渲染中包含“Variants”的组件

在React - Conditional渲染中包含“Variants”的组件
EN

Stack Overflow用户
提问于 2018-08-13 21:54:42
回答 1查看 5.1K关注 0票数 3

这里有一个非常基本的问题。

我正在尝试学习React,我很好奇关于这类事情的最好的设计模式。

我有一个按钮组件,我想要应用不同类的组件的“主要”和“次要”变体。下面是不是最好的方法呢?我正在传递一个“变量”属性,它定义了使用哪个按钮。

如果这不是最好的解决方案,如果我想要特定组件的“变体”,那该怎么办呢?

谢谢!

代码语言:javascript
复制
class Button extends Component {

render() {

  // --- SECONDARY BUTTON --- //
  if(this.props.variant == 'secondary') {

    return (
      <div className = 'button-wrapper secondary'>
        <div className = 'button'>
          {this.props.text}
        </div>
      </div>
    );

  // --- PRIMARY BUTTON --- //
  }else if(this.props.variant == 'primary') {

    return (
      <div className = 'button-wrapper primary'>
        <div className = 'button'>
          {this.props.text}
        </div>
      </div>
    );
  }
}
}
EN

回答 1

Stack Overflow用户

发布于 2018-08-13 22:02:11

如果您的不同之处仅仅在于className,也许您可以通过以下方式实现相同的目的:

代码语言:javascript
复制
render() {
 const { variant } = this.props;
 return (
   <div className = {`button-wrapper ${ variant === 'secondary' ? '' : 'primary' }`}>
     <div className = 'button'>
       {this.props.text}
     </div>
   </div>
 );
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51824063

复制
相关文章

相似问题

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