reactjs - Modulen '"*.svg"' har ingen exporterad medlem 'ReactComponent'
Jag skapade en ny React-app med CRA. Nu vill jag skapa en indexfil som exporterar alla mina ikoner. För att göra detta har jag sparat alla mina ikoner i min src/icons-mapp och skapat en indexfil som exporterar mina ikoner som React-element.
Problemet är att jag får följande fel när jag försöker exportera ReactComponent:
Module '"*.svg"' has no exported member 'ReactComponent'. Did you mean to use 'import ReactComponent from "*.svg"' instead?
Enligt CRAs dokumentation bör detta fungera utan att behöva deklarera en ny modul.
Jag använder react@^16.13.1 och [email som förväntas stödja det.
Det konstiga är att när jag kör koden får jag varken kompilations- eller körningsfel. När jag använder <ChevronRightIcon /> visas ikonen därefter.
Svar #1
Lägg till en fil var som helst i ditt projekt så här, svg.d.ts
med innehåll
declare module '*.svg' {
import React = require('react')
export const ReactComponent: React.FC<React.SVGProps<SVGSVGElement>>
const src: string
export default src
}
Starta om TypeScript-servern i VSCode. Om filen inte fångades upp, ange uttryckligen i din tsconfig.json:
"include":
[...,
"svg.d.ts"
],
