【发布时间】:2019-09-12 12:42:09
【问题描述】:
什么是类定义中的“&”符号?
在我的课堂上,我发现我需要以下类定义:
class myList extends Component<RouteComponentProps<any> & IMyList> {
我发现许多其他示例使用 comma 而不是 &,但使用逗号时出现错误:
prop x 不存在
【问题讨论】:
-
而不是使用intersection type 你应该让
IMyList扩展RouteComponentProps<any> -
@Thomas 不一定,任何一种方式都适用于组件道具。
&表示交叉点,即道具将是RouteComponentProps<any>和IMyList。放置,表示您正在传递另一个类型参数(用于状态),因此道具将为RouteComponentProps<any>,状态将为IMyList -
@TitianCernicova-Dragomir 我知道这两种方法都行。在我看来,OP非常缺乏经验。尽管我相信他很快就会理解这些类型,但我认为对于一个没有经验的程序员来说,用这种结构制造一个大混乱并在所有地方重复自己要容易得多。这就是为什么我建议改用继承。
-
@Thomas 是的,从这个角度我同意,继承可能更容易掌握
标签: javascript reactjs typescript