显式函数返回类型创建功能组件在打字稿中做出反应

时间:2019-12-09 14:54:06

标签: javascript reactjs typescript

const App: FC = () => {
   const addItem = () => {
      useState([...items, {id:1,name:'something'])
   }
   return<div>hello</div>
}

在我的App.tsx上,linter给了我错误。

warning  Missing return type on function  @typescript-eslint/explicit-function-return-type

我必须关闭显式函数返回类型,如何修复以上代码? AddItem不必返回任何内容。

1 个答案:

答案 0 :(得分:0)

我不确定您使用的是哪个版本的React,但是使用TypeScript和React 16.8为功能组件提供类型的所谓正确方法是使用React.FCReact.FunctionComponent。在大多数TsLint配置中,以下命令可以正常运行。您可以在运行于@typescript-eslint

的项目中尝试使用以下内容
import * as React from 'react';

const App: React.FC = () => {
   // do something

   return <div>hello</div>;
}

但是,如果上述方法无效,则可能需要执行以下操作来明确键入返回值:

import * as React from 'react';

const App: React.FC = (): JSX.Element => {
   // do something

   return <div>hello</div>;
}