Метод navigateTo не существует по типу ComponentClass - PullRequest
0 голосов
/ 25 апреля 2018

Я использую машинопись и реагирую, и у меня следующий вызов, который не работает:

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 и смягчить это. Но я задаюсь вопросом, почему не работает? Это должно работать, но я явно что-то упускаю.

Спасибо за любые указатели.

1 Ответ

0 голосов
/ 25 апреля 2018

реагирующий маршрутизатор withRoute напечатан как универсальный . Тип компонента должен быть указан как общий параметр:

 let router = withRouter<Router>(Router);
...