将boolean传递给material-ui list-item

时间:2016-11-14 19:35:24

标签: reactjs material-ui

我是React的新手,可能是我的问题听起来很愚蠢...

我有一个material-ui list-item组件,我想让编辑图标仅供内容所有者使用。

例如:

 var rightAction = (this.props.canEdit)?<IconButton><NavigationClose /></IconButton>:false;

   <ListItem
      //properties...
        rightIconButton={righAction}
    />

当然,如果你下到页面内容不是所有者,在他的控制台,我们会看到这个错误:

  

道具类型失败:rightIconButton类型的道具boolean无效   提供给ListItem,期望一个ReactElement。

问题:

我们如何根据条件转移或不转让财产?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您将undefined传递给道具,则相当于根本不传递它。

所以只需将条件更改为:

var rightAction = this.props.canEdit ? <IconButton><NavigationClose /></IconButton> : undefined;

你也可以通过分解来简化阅读(imho):

var button = (<IconButton><NavigationClose /></IconButton>);
var rightAction = this.props.canEdit ? button : undefined;