javascript - 在 react + jsx 中动态设置 svg circle attr

标签 javascript reactjs svg jsx

我有以下代码:

{items.map((item, index) => ( 
  <g className="item" key={index} >                
    <circle r="60" className="md" cx="5%" cy="50%"/>
    <text className="textNode" x="5%" y="50%">
      {item.text}
    </text>
  </g>
 ))}

其中 items 是一个对象数组。我想做的是为数组中的每个项目创建一个 svg 圆圈。

现在所有的圆圈都在一个位置上。如何在每次迭代中将圆的 cx 属性增加 5%?

最佳答案

为什么不增加?

cx={`${5 * (index + 1)}%`}

应导致 cx="5%"cx="10%" 等。请注意以下内容...

{items.map((item, index) => ( 
  <g className="item" key={index} >                
    <circle r="60" className="md" cx={`${5 * (index + 1)}%`} cy="50%"/>
    <text className="textNode" x="5%" y="50%">
      {item.text}
    </text>
  </g>
))}

JSFiddle demo - 转换的简单展示

关于javascript - 在 react + jsx 中动态设置 svg circle attr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47165264/

相关文章:

javascript - 如何将数组与 setState 一起使用?

javascript - React 将我的组件渲染为其名称,而不是其中的内容

javascript - 如何更改 BingMaps 中群集图钉的颜色?

html - SVG 图像贴图悬停效果

javascript - 使用 d3 选择 svg 子元素时遇到问题

javascript - 使用 GWT JsInterop 实现 Javascript 函数回调

javascript - FullCalendar 2.2.6 时区被忽略

javascript - jquery 日期选择器 : weird documentation substraction in minDate

javascript - Vuex:直接访问商店还是传递属性?

node.js - ioHook on Electron 消耗太多 CPU。反正周围有吗?或者替代ioHook