javascript - 当使用 React 包裹在 div 中时,SVG 矩形会转到新位置

标签 javascript reactjs svg

我是 React 新手,我遇到了一些格式问题。

我有一个 React 组件,一个作为背景元素的 SVG。在其上,我尝试渲染几个点,并在您悬停时添加注释。

当我直接返回点时,我能够得到要显示的点,但我需要将其包装在 div 中,以便我可以添加一些文本。

工作,将点渲染到正确的位置:

    class InfoPoint extends Component {
      render() {
        return (
          <rect x="10" y="93" width="15" height="12" rx="2" ry="2" fill="red" ></rect>
        );
      }
    }

不起作用,当我将其包装在 div 中时找不到该元素:

   class InfoPoint extends Component {
      render() {
        return (
          <div className="point">
          <rect x="10" y="93" width="15" height="12" rx="2" ry="2" fill="red" ></rect>
         </div>
        );
      }
    }

最佳答案

<rect>元素必须位于 <svg> 内元素。和<div> <svg> 内的元素无效元素。您不能不加区别地将 HTML 和 SVG 元素混合在一起。

关于javascript - 当使用 React 包裹在 div 中时,SVG 矩形会转到新位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44847517/

相关文章:

javascript - 如何将可变数据放入数组,javascript

javascript - 如何使用jquery在鼠标点击时显示列表?

javascript - ASP 经典的 JScript 'import' 语法

JavaScript 对象和 css 类出现问题

javascript - 在 d3.js 中看不到圆圈

html - 使用 CSS3 围绕其自身中心旋转 SVG 路径

css - React Native - FlatList 不滚动

Reactjs 单击按钮时添加微调器

javascript - react native : changing state via external function doesn't rerender

javascript - 使用 javascript 以编程方式创建 SVG 图像元素