我已经创建了一个自定义组件,并且我希望在组件呈现时添加子元素,如果某个属性设置为true
。我使用了以下代码,但未呈现组件。我在这做错了什么。
let deleteNode = '';
if(deletable){
deleteNode = '<div />'
}
let defaultClasses = 'chips chips-rounded';
return (
<div className={classNames(classes, defaultClasses)} onClick={ this.onClick }>
{avatar}
<span>{this.props.labelText}</span>
{deleteNode}
</div>
)
答案 0 :(得分:1)
您正在尝试渲染组件,但实际上您只是在string
中发送了deleteNode
。您的代码应该如下所示
if(deletable){
deleteNode = (<div />);
}
答案 1 :(得分:1)
我的方法不同:
render() {
const defaultClasses = 'chips chips-rounded'
return (
<div className={classNames(classes, defaultClasses)} onClick={ this.onClick }>
{avatar}
<span>{this.props.labelText}</span>
{deletable && <div />}
</div>
)
}
所以你不需要额外的if
检查。