【问题标题】:Use SVG file as React component使用 SVG 文件作为 React 组件
【发布时间】:2021-01-19 02:18:48
【问题描述】:

我有这样的代码:

<img src={category.svg} alt={category.name} />

它可以工作,但作为图像不是 React 组件,我无法进行任何操作。 SVG URL 正在动态变化,我无法导入或转换它。你有什么想法吗?

【问题讨论】:

  • 如果您希望它具有交互性,请不要使用

标签: reactjs svg


【解决方案1】:

像这样创建一个自定义反应组件Svg

import { memo } from "react";
import inlinesvg from "react-inlinesvg";

const Svg = memo(inlinesvg);

export default Svg;

现在,当您需要使用此组件时,使用特定的 .svg 文件,请像这样使用它:

import One from "resources/images/one.svg";
import Two from "resources/images/two.svg";
...
...

return  <Svg src={this.props.isOne ? One : Two}/>
   

【讨论】:

  • 是否可以不使用导入? SVG 路径来自数据库。
  • src 包含您要加载的 SVG 文件。它可以是要求、URL 或字符串(base64 或 url 编码)。更多细节在这里:npmjs.com/package/react-inlinesvg
猜你喜欢
  • 1970-01-01
  • 2020-06-12
  • 2021-08-13
  • 1970-01-01
  • 2021-06-06
  • 2018-10-19
  • 2020-10-10
  • 2017-07-06
  • 1970-01-01
相关资源
最近更新 更多