Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 键入React组件的返回类型_Reactjs_Typescript_Eslint - Fatal编程技术网

Reactjs 键入React组件的返回类型

Reactjs 键入React组件的返回类型,reactjs,typescript,eslint,Reactjs,Typescript,Eslint,要创建React,应用程序会删除React.FC作为组件的返回类型(有关原因,请参阅PR)。这是否意味着ESlint的规则不再适用于React组件?如果是这样的话,如何让ESlint满意呢?一个选项是将函数声明为组件类型,它封装了一个返回类型: import { ComponentType } from 'react'; const App: ComponentType<AppProps> = () => ( <div>Whatever</div>

要创建React,应用程序会删除
React.FC
作为组件的返回类型(有关原因,请参阅PR)。这是否意味着ESlint的规则不再适用于React组件?如果是这样的话,如何让ESlint满意呢?

一个选项是将函数声明为
组件类型,它封装了一个返回类型:

import { ComponentType } from 'react';

const App: ComponentType<AppProps> = () => (
  <div>Whatever</div>
);
从'react'导入{ComponentType};
常量应用程序:组件类型=()=>(
无论什么
);

一个选项是将函数声明为
组件类型
,它封装了一个返回类型:

import { ComponentType } from 'react';

const App: ComponentType<AppProps> = () => (
  <div>Whatever</div>
);
从'react'导入{ComponentType};
常量应用程序:组件类型=()=>(
无论什么
);

您可以使用
React.ReactElement | null
作为函数组件的返回类型。这就是
React.FC
今天所做的

interface Props {
  children: React.ReactNode;
}

const MyComponent = ({ children }: Props): React.ReactElement => (
  <div>{children}</div>
)
界面道具{
子节点:React.ReactNode;
}
常量MyComponent=({children}:Props):React.ReactElement=>(
{儿童}
)

您可以使用
React.ReactElement | null
作为函数组件的返回类型。这就是
React.FC
今天所做的

interface Props {
  children: React.ReactNode;
}

const MyComponent = ({ children }: Props): React.ReactElement => (
  <div>{children}</div>
)
界面道具{
子节点:React.ReactNode;
}
常量MyComponent=({children}:Props):React.ReactElement=>(
{儿童}
)

您遇到什么问题了吗?您遇到什么问题了吗?
ReactNode
还包括
未定义的
,这是不允许的。返回
undefined
将导致React to throw
渲染时未返回任何内容。这通常意味着缺少返回语句。或者,要不呈现任何内容,请返回null
ReactNode
还包括不允许的
未定义的
。返回
undefined
将导致React to throw
渲染时未返回任何内容。这通常意味着缺少返回语句。或者,要不渲染任何内容,请返回null