1.我想开发一个react 组件装饰器,使用的时继承模式,但是会报下面的错
export type IReactComponent<P = any> =
| React.StatelessComponent<P>
| React.ComponentClass<P>
| React.ClassicComponentClass<P>
const SafeSetState= function<T extends IReactComponent >(WrappedComponent:T){
return class SafeComponent extends WrappedComponent{
private isMount:boolean
componentDidMount(){
this.isMount=true
if(super.componentDidMount){
super.componentDidMount()
}
}
componentWillUnmount(){
this.isMount=false
if(super.componentWillUnmount){
super.componentWillUnmount()
}
}
setState(state,callback?){
if(this.isMount){
super.setState(state,callback)
}
}
}
};
export default SafeSetState
报错提示
也就是想让我吧WrappedComponent的类型设置为构造函数类型才可以?可是我并不想这是为构造函数类型,而是设置为ReactCompoent类型,这个改怎么解决?