我是React的新手,可能是我的问题听起来很愚蠢...
我有一个material-ui list-item组件,我想让编辑图标仅供内容所有者使用。
例如:
var rightAction = (this.props.canEdit)?<IconButton><NavigationClose /></IconButton>:false;
<ListItem
//properties...
rightIconButton={righAction}
/>
当然,如果你下到页面内容不是所有者,在他的控制台,我们会看到这个错误:
道具类型失败:
rightIconButton
类型的道具boolean
无效 提供给ListItem
,期望一个ReactElement。
问题:
我们如何根据条件转移或不转让财产?
谢谢!
答案 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;