我有一个REACT-STATELESS-COMPONENT,在一个有TypeScript的项目中.它有一个错误,说

Missing return type on function.eslint(@typescript-eslint/explicit-function-return-type)

我不确定它要我做什么.这是我的代码:

import React, { Fragment} from 'react';
import IProp from 'dto/IProp';

export interface Props {
  prop?: IProp;
}

const Component = <T extends object>({ prop }: Props & T) => (
  <Fragment>
    {prop? (
      <Fragment>
        Some Component content..
      </Fragment>
    ) : null}
  </Fragment>
);

LicenseInfo.defaultProps: {};

export default Component;

你能告诉我需要做什么吗.我需要了解TS,但目前我一点也不了解.因为这个原因,我现在不能做出promise .

推荐答案

我建议使用react提供的类型;它们将包括返回类型.如果您使用的是react的16.8.0或更高版本,请执行以下操作:

const Component: React.FunctionComponent<Props> = (props) => (

或者使用速记:

const Component: React.FC<Props> = (props) => (

在16.8之前,你应该:

const Component: React.SFC<Props> = (props) => (

其中SFC代表"无状态功能组件".他们更改了名称,因为功能组件不再一定是无状态的.

Typescript相关问答推荐

物料UI图表仅在悬停后加载行

如何通过TypeScript中的工厂函数将区分的联合映射到具体的类型(如类)?

react 路由6操作未订阅从react 挂钩表单提交+也不使用RTK查询Mutations

类型{}上不存在属性&STORE&A;-MobX&A;REACT&A;TYPE脚本

接口中函数的条件参数

适当限制泛型函数中的记录

参数属性类型定义的REACT-RUTER-DOM中的加载器属性错误

限制返回联合的TS函数的返回类型

如何使所有可选字段在打印脚本中都是必填字段,但不能多或少?

如果数组使用Reaction-Hook-Form更改,则重新呈现表单

Vue3 Uncaught SyntaxError:每当我重新加载页面时,浏览器控制台中会出现无效或意外的令牌

对于始终仅在不是对象属性时才抛出的函数,返回Never

Angular 自定义验证控件未获得表单值

S,为什么我的T扩展未定义的条件在属性的上下文中不起作用?

当传递带有或不带有参数的函数作为组件props 时,我应该如何指定类型?

在打印脚本中将对象类型转换为数组

如何在TypeScrip中使用数组作为字符串的封闭列表?

Select 类型的子项

确保财产存在

我可以在 Typescript 中重用函数声明吗?