在TSX文件中,可以定义一个通用组件:
const MyComponent = <A,>() => <p>my component</p>
注意A
之后的,
。
现在,如果我希望A
默认为string
,那么很自然地会认为应该写上面的内容:
const MyComponent = <A=string,>() => <p>my component</p>
但这不起作用。
我错过了什么?
我能找到的最好的解决方案是将其定义为一个正常函数:
const MyComponent = function <A = string>() {
return <p>my component</p>;
};
虽然这在功能上与箭头函数不同,但我的猜测是,在React的上下文中,你可能在大多数时候都不在乎。
怎么样:
const MyComponent = <string,>() => <p>my component</p>
?
为什么它不起作用?