【发布时间】:2021-12-09 12:08:52
【问题描述】:
我们有数百个 SVG 文件,我正在尝试内联渲染。我正在使用已经安装和配置了 @svgr/webpack 的 create-react-app。它允许我像这样添加 SVG 内联:
import { ReactComponent as SvgImage } from '../Plans/Brownlow-Floor-Plan.svg';
...
<SvgImage style={{ width: "600px !important" }} />
Similar question 提供了一种内联动态渲染 SVG 的解决方案。但是,在 my 的情况下,我的源代码中没有任何 SVG 文件。相反,所有 SVG 文件都通过调用 API 服务返回给我。例如:
- http://myservice/api/getplan(100)
- http://myservice/api/getplan(103)
- http://myservice/api/getplan(106)
- http://myservice/api/getplan(631)
因此,当 webpack 运行时,它没有关于这些 SVG 文件的信息。
所以我的问题是:如果我从外部 URL 提取 SVG 文件,是否可以在 react (TypeScript) 中动态呈现 svg?
这不是重复的问题: How to dynamically import SVG and render it inline
上述问题中描述的方法不起作用,因为它希望将所有 SVG 文件都添加到源代码中。
这种方法也行不通,因为仅仅使用 img 标签不会内联 SVG:
<img src="plan.svg" />
任何帮助将不胜感激!
【问题讨论】:
-
@Dlk,谢谢,但我在问题中特别提到了这篇文章,并解释说这不是同一个问题。该帖子中提供的解决方案不适用于我的情况。我在上面的问题中解释了原因。
标签: reactjs typescript svg create-react-app inline