reactjs - ComponentClass 类型上不存在方法 navigateTo
问题描述
我使用打字稿并做出反应,但以下调用不起作用:
router.navigateTo(uri.path);
路由器是一个标准的反应组件:
class Router extends React.Component < IRouterProps, any > {
public constructor(props, context) {
super(props, context);
}
public navigateTo(path: string) {
(this.props as any).history.push(path);
}
}
导出很简单:
let router = withRouter(Router) ;
export default router;
我得到的错误:
Property 'navigateTo' does not exist on type 'ComponentClass<Pick<any, never>>
我知道我可以做到(router as any).navigateTo
并减轻这种情况。但我想知道自己为什么不起作用?它应该可以工作,但我显然遗漏了一些东西。
感谢您的任何指示。
解决方案
react-routerwithRoute
被输入为泛型。组件类型应作为通用参数提供:
let router = withRouter<Router>(Router);