假设我有一个这样的课程:
class PeopleByTag extends React.Component<RouteComponentProps<{ tag: string }>
我需要在我的构造函数中做一些事情,在这个例子中获取数据,但要做到这一点,我需要声明一个 props 参数,但如果我不指定类型,它将变成任何类型:
constructor(props) {
super(props); // props is any
this.loadData();
}
另一方面,如果我重新声明类型,代码会变得非常难看:
constructor(props: Readonly<{
children?: React.ReactNode;
}> & Readonly<RouteComponentProps<{
tag: string;
}, StaticContext, any>>) {
super(props);
this.loadData();
}
有没有办法从类扩展中自动推断 props 类型,同时还可以编写构造函数?
我也不想使用已弃用的生命周期挂钩(即 ComponentWillMount)。