Машинопись: Как добавить проверку типов для объекта истории в React

На шаге 5 Фила «Ресурсы» больше не доступны в новой версии Chrome. Вам нужно щелкнуть по значку страницы рядом с Ajax-страницей, указанной в нижней панели, с столбцами Name, Method, Status, ...

Затем он покажет вам больше панелей, где вы найдете ошибку сообщений.

16
задан phoenix 17 March 2018 в 23:56
поделиться

2 ответа

Вы можете использовать интерфейс RouteComponentProps, который объявляет все реквизиты, переданные withRouter:

import { RouteComponentProps } from 'react-router-dom';
..
interface ChildComponentProps extends RouteComponentProps<any> {
  /* other props for ChildComponent */
}
const ChildComponent : React.SFC<ChildComponentProps> = ({ history }) => (
  ..
);

Параметр type для RouteComponentProps является типом свойства params в match, поэтому он вам не понадобится, если вы не сопоставляете именованные сегменты пути.

В качестве альтернативы, если history не прибывает из withRouter, но пропущен сам как опора, вы можете импортировать тип из history:

import { History } from 'history';
..
interface ChildComponentProps {
  history : History
  /* other props for ChildComponent */
}
const ChildComponent : React.SFC<ChildComponentProps> = ({ history }) => (
  ..
);
27
ответ дан Oblosys 17 March 2018 в 23:56
поделиться

Для Реагируют 16.8 с рычагами:

...
import {withRouter, RouteComponentProps} from 'react-router-dom';
...
const ChildComponent: React.FunctionComponent<RouteComponentProps> = ({history}) => {
...
}
0
ответ дан 28 November 2019 в 03:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: