gpt4 book ai didi

reactjs - 是否可以在不使用箭头函数的情况下使用 TypeScript 输入 React 函数组件?

转载 作者:行者123 更新时间:2023-12-03 14:17:52 27 4
gpt4 key购买 nike

目前我的 React 组件的类型如下:

import React, { FunctionComponent } from "react";

const HelloWorld : FunctionComponent = () => {
return (
<div>
Hello
</div>
);
}

export default HelloWorld;

我不想使用箭头函数并像这样编写我的组件:

import React, { FunctionComponent } from "react";

function HelloWorld() {
return (
<div>
Hello
</div>
);
}

export default HelloWorld;

是否可以将普通函数键入为 FunctionComponent

最佳答案

FunctionComponent type 基本上可以归结为一个接收 props 并返回 ReactElement 的函数。 :

(props: PropsWithChildren<P>, context?: any): ReactElement | null;

因此,一种选择是相应地键入非箭头函数:

function HelloWorld(): ReactElement {
return (
<div>
Hello
</div>
);
}

另一个选项(与 TS React 生态系统的其他部分更好地集成)是将函数存储在命名变量中:

interface SomeProps {
someValue: number
}

const HelloWorld: FunctionComponent<SomeProps> = function HelloWorld({ someValue }) {
return <div>Hi {someValue}</div>
}

总的来说,我建议您只使用箭头函数,因为它们提供了好处,特别是当涉及 JS 范围和 this 时引用。

关于reactjs - 是否可以在不使用箭头函数的情况下使用 TypeScript 输入 React 函数组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55112423/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com