声明了“ React”,但从未读取其值

时间:2018-08-10 14:45:39

标签: typescript

我有以下代码:

// tslint:disable
import * as React from 'react';
import { Input, InputProps } from '../atoms/Input/Input';
import { FormControl } from '../hoc/FormControl/FormControl';

export const FormInput = FormControl<InputProps>(Input);

Typescript无法编译,但会抱怨:

  

声明为“ React”,但从不读取其值。

如果我删除该行,则会得到:

  

导出的变量“ FormInput”具有或正在使用外部模块“ / node_modules / @ types / react / index”中的名称“ React.ComponentClass”,但无法命名。   [ts]导出的变量“ FormInput”具有或正在使用外部模块“ / node_modules / @ types / react / index”中的名称“ React.StatelessComponent”,但无法命名。

我在tsconfig中将declaration设置为true,这是正确的,因为这是一个软件包。

1 个答案:

答案 0 :(得分:1)

尝试升级到TypeScript 2.9或更高版本。 TypeScript 2.9添加了对import types的支持,这应该使得可以删除React的导入并仍然生成声明文件。