reactjs - importering av ReactNode i TypeScript-modul mislykkes
Jeg har en create-react-app som har en types-mappe i src med følgende:
testapp-komponenter.d.ts
import { ReactNode } from "react";
interface Option {
label: ReactNode;
value: string;
[key: string]: ReactNode;
}
declare module "@testApp/components";
Men når jeg bruker det i komponenten min slik...
// @testApp/components is an internal library I've installed. OptionSelector is a custom react component.
import { OptionSelector } from @testApp/components;
... other React code ...
const [options, setOptions] = useState<Option[]>([]);
Den gir meg følgende feil:
TS7016: Kunne ikke finne en deklarasjonsfil for modul '@testApp/componentsunderimport { OptionSelector } ...TS2304: Kan ikke finne navnet Optionunder useState
Hvis jeg fjerner import { ReactNode } ... og endrer ReactNode-referansene til any, forsvinner begge feilene...
Å endre filnavnet til .d.tsx løser ikke problemet.
Jeg har også prøvd dette:
declare module "@testApp/components" {
export interface Option {
label: any;
value: string;
[key: string]: any;
}
};
Som gir samme feil for useState, men gir meg en ny feil for import { OptionSelector } ...:
TS2305: Module @testApp/components has no exported member OptionSelector
Svar #1
import type { ReactNode } from 'react'; // Import ReactNode as a type
