将svg作为react中的组件导入,而不使用typescript引用

vmpqdwk3  于 2022-12-14  发布在  TypeScript
关注(0)|答案(1)|浏览(198)

我在我的tsx里有这个导入

import { ReactComponent as FbLogo } from '../Icons/facebook_logo.svg'

但我得到Module '"*.svg"' has no exported member 'ReactComponent'. Did you mean to use 'import ReactComponent from "*.svg"' instead?ts(2614)错误
我不知道为什么,我不明白错误。然后我看到在其他回购,他们添加了这一行在文件的顶部解决它。

/// <reference types="vite-plugin-svgr/client" />

这个错误确实消失了,但对我来说,它看起来像个谜。它到底做了什么?我们能摆脱它吗?我正在使用vite和typescript和reaction。

fwzugrvs

fwzugrvs1#

最佳做法是将该行添加到vite-env.d.ts文件中,而不是添加到该特定文件的顶部:

/// <reference types="vite-plugin-svgr/client" />

现在,您应该能够将SVG作为React组件导入到应用中,而不会出现任何问题,如下所示:

import { ReactComponent as FbLogo } from '../Icons/facebook_logo.svg'

相关问题