【问题标题】:Add style programmatically to an svg before it's rendered by React?在 React 渲染之前以编程方式将样式添加到 svg?
【发布时间】:2016-10-20 11:47:27
【问题描述】:

我可以在 react 中渲染我的 svg

 render () {
     return (
        <object type="image/svg+xml" data="./src/img/test.svg" ref="svg">
        </object>
     )
 }

我希望用户能够通过选择作为道具传入的颜色来更改填充。在渲染中返回之前如何更改 svg 的样式?

我也研究过在 componentDidUpdate() 中更改它,但我认为在那里操作 DOM 违反了一般的 React 设计模式。

【问题讨论】:

    标签: javascript css svg reactjs


    【解决方案1】:

    使用以下流程:

    • 将 SVG 转换为 data URI
    • 通过替换数据 URI 来更新填充颜色
    • 状态改变完成后渲染

    参考文献

    【讨论】:

      猜你喜欢
      • 2018-07-09
      • 1970-01-01
      • 2020-11-13
      • 2022-01-09
      • 1970-01-01
      • 2015-05-04
      • 2019-06-26
      • 2018-10-25
      • 2022-12-13
      相关资源
      最近更新 更多