javascript - 如何正确处理 React.js 中的对象元素

标签 javascript reactjs

我正在尝试使用浏览器 native 工具在 React 组件中创建 svg 元素。创建元素并将该变量放入渲染方法中时出现的错误如下:

对象作为 React 子对象无效(找到:[object Element])

我可以使用以下命令将元素添加到页面,但我知道这不是最好的方法。处理此案的正确方法是什么?

import React from 'react'


export default class Circle extends React.Component {

  componentDidMount() {
    let canvas = document.createElementNS('http://www.w3.org/2000/svg', 'svg')
    canvas.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'ellipse'))
    document.getElementById('element').appendChild(canvas)
  }

  render() {
    return (
      <div id='element'></div>
    );
  }
}

最佳答案

您可以在代码中简单地使用 svg 和 ellipse 标签。

here是所有受支持的 svg 属性。

import React from 'react'

export default class Circle extends React.Component {

  render() {
    return (
      <div id='element'>
          <svg></svg>
          <ellipse></ellipse>
      </div>
    );
  }
}

关于javascript - 如何正确处理 React.js 中的对象元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41797631/

相关文章:

javascript - 将 Prop 从一个组件传递到另一个组件时出错 - 使用 typescript 进行 react 时反之亦然

javascript - API 的响应返回数据,状态未定义 - React.JS

reactjs - 定义的组件样式不起作用

javascript - react 错误 : You may need an appropriate loader to handle this file type

javascript - 在外部 jquery 文件中选择 html 元素

javascript - jQuery 脚本无法处理从另一个页面附加的 html

javascript - 添加 jQuery 验证方法时 this.optional(element) 做了什么?

javascript - 谷歌地图标记不递增数组

reactjs - NextJS中的摇晃树包括所有的node_modules包,即使没有全部使用它

javascript - jquery函数无法捕获动态生成的id