У меня есть приложение create-реакции-приложение, которое имеет каталог types
в src
со следующими данными:
testapp-components.d.ts
import { ReactNode } from "react";
interface Option {
label: ReactNode;
value: string;
[key: string]: ReactNode;
}
declare module "@testApp/components";
Однако, когда я использую его в своем компоненте как таковом ...
// @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[]>([]);
Это дает мне следующие ошибки:
TS7016: Could not find a declaration file for module '@testApp/components
подimport { OptionSelector } ...
TS2304: Cannot find name Option
под useState
Если я удаляю import { ReactNode } ...
и изменяю ReactNode
ссылки на any
обе ошибки пропали ...
Изменение имени файла на .d.tsx
не решает проблему.
Я также пробовал это:
declare module "@testApp/components" {
export interface Option {
label: any;
value: string;
[key: string]: any;
}
};
Который выдает ту же ошибку для useState, но дает мне новую ошибку для import { OptionSelector } ...
:
TS2305: Module @testApp/components has no exported member OptionSelector