具有默认类型的通用组件

Joh*_*ohn 7 typescript reactjs tsx

在 TSX 文件中,可以定义通用组件:

const MyComponent = <A,>() => <p>my component</p>
Run Code Online (Sandbox Code Playgroud)

注意,后面的A

现在,如果我想A默认string,人们自然会认为上面应该写成:

const MyComponent = <A=string,>() => <p>my component</p>
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

我缺少什么?

Chr*_*ris 7

我能找到的最好的解决方案是将其定义为普通函数:

const MyComponent = function <A = string>() {
  return <p>my component</p>;
};
Run Code Online (Sandbox Code Playgroud)

虽然这在功能上与箭头函数不同,但我的猜测是,在 React 的上下文中,您可能大多数时候都不会关心。


Kle*_*leo -2

怎么样:

const MyComponent = <string,>() => <p>my component</p>

有什么理由行不通吗?