импорт ReactNode в модуле машинописи завершился неудачно - PullRequest
2 голосов
/ 02 ноября 2019

У меня есть приложение 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[]>([]);

Это дает мне следующие ошибки:

  1. TS7016: Could not find a declaration file for module '@testApp/components подimport { OptionSelector } ...

  2. 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 } ...:

  1. TS2305: Module @testApp/components has no exported member OptionSelector
...