更新了react和react-dom后的打字稿错误

时间:2019-03-05 07:28:50

标签: javascript reactjs typescript

我已经将react和react-dom(以及@ type / react和@ types / react-dom)升级到最新版本,以使用react钩子。但是现在我收到了此类型错误:

  

typeof类型的参数不能分配给type类型的参数   'ComponentType <道具和RouteComponentProps <{},StaticContext,任何>>

interface LoginProps {}

class Login extends React.PureComponent<LoginProps & RouteComponentProps, {}> {

}

export default withRouter(Login);

我怀疑类型定义是问题所在,但我找不到原因。

1 个答案:

答案 0 :(得分:1)

我认为问题在于您尝试扩展界面的方式。

在打字稿界面中,可以使用extends关键字(即interfaceA extends interfaceB)进行扩展,而类型可以使用您所使用的方法(即typeA & typeB)进行扩展。

而且由于LoginProps是一个界面,所以您的代码已损坏。

尝试将您的代码重写为

interface LoginProps extends RouteComponentProps {}

class Login extends React.PureComponent<LoginProps, {}> {

}