Как упоминалось в другом ответе, withRouter
должен быть импортирован из react-router
.
Но чтобы ответить на ваш вопрос об ошибке Typescript, это потому, что location
был определен как object
для машинописи без указания свойств.Вот почему возникает ошибка при попытке доступа к pathname
на нем.
К счастью, вам не нужно выписывать все свойства на объекте проп.Вместо этого вы можете установить типы реагирующих маршрутизаторов с помощью:
npm install --save @types/react-router @types/react-router-dom
При создании компонента, который наследует эти реквизиты (соответствие, местоположение, история), просто расширьте RouteComponentProps
:
import { RouteComponentProps } from "react-router";
interface IProps extends RouteComponentProps {
// other props
}