繁体   English   中英

在react中添加新的dom元素

[英]Appending a new dom element in react

我已经创建了一个自定义组件,并且如果某个属性设置为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>
    )

您正在尝试渲染组件,但实际上您只是在deleteNode发送string 您的代码应如下所示

if(deletable){
    deleteNode = (<div />);
}

我的不同方法是:

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检查,则不需要额外的费用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM