动态添加到html元素

时间:2018-07-29 18:34:55

标签: javascript reactjs

仅在安装组件时,我想动态添加一些div元素。我尝试了以下代码

<div className="resumebuilder__structure" ref="panel_holder">
</div>

在生命周期挂钩中调用的我的函数

getPanels = () => {
  return this.props
    .resumeTemplate
    .roughTemplateStructure
    .roughScale.map((roughS) => {
      const uid = uuid();
      this.updatePanelInTemplate(uid);
      const elem = <div ref={uid} className={roughS.class} ></div>;
      return elem;
    });
}

生命周期方法

componentDidMount() {
  this.refs.panel_holder.appendChild(this.getPanels());
}

但是我遇到以下错误

Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.

有人有什么主意吗?

----更新-

尽管我继续使用其他方法,但是仍然找不到答案。如果您知道什么,请发表评论。

1 个答案:

答案 0 :(得分:0)

更好的方法是将组件置于父级状态的数组中。然后渲染该数组中的所有组件。