在React中将HTML元素动态添加到DOM中吗?

时间:2018-08-15 14:39:53

标签: reactjs svg jsx

我有一个用例,可以在SVG中动态附加标签。我曾经使用Jquery追加元素。当我检查DOM元素时,我看到elem附加在占位符上。尽管我曾经使用this.forceUpdate();来渲染/更新DOM,但是该标签并未反映在UI中。

componentDidMount(){  
   let elem = `<g transform="translate(0 8)">
                    <path d="M121,164.5V140l0,0h110l0,0v24.5c0,3.3-2.7,6-6,6h-98C123.7,170.5,121,167.8,121,164.5z"/>
                    <text transform="matrix(1 0 0 1 130 162)" fill="white">Label1</text>
                </g>`;
   let svgTargetDiv = $('#Group_599');
   svgTargetDiv.after(elem);
   this.forceUpdate();
}
render(){  
  return { 
    <div>
      <svg id="Group_599">
        <g>...</g>
        <path>...</path>
        <g>...</g>
        /*placeholder to insert labels in the svg dynamically from API response*/
      </svg>
    </div>
    }  
  }

我做错了什么?这是解决此用例的正确方法吗?我也曾在反应中使用refs,但无法定位嵌套元素并附加标签。这就是我使用Jquery的原因。任何帮助将不胜感激:)

0 个答案:

没有答案
相关问题