Вы заключили компонент Navigation
в оболочку withRouter
, поэтому вам нужно будет получить доступ к объекту истории через свойства компонента. Вы можете деструктурировать свой реквизит, как показано ниже:
function Navigation({ history }) {
const abc = path => {
history.push(path);
};
return (
<button onClick={() => abc('/user')}>User</button>
);
}
export default withRouter(Navigation);
Поскольку вы работаете с функциональными компонентами, альтернативным способом работы будет использование хука useHistory
, который избавит вас от лишних затрат. нужно обернуть ваш компонент withRouter
:
import { useHistory } from 'react-router-dom';
function Navigation(props) {
const history = useHistory();
const abc = path => {
history.push(path);
};
return (
<button onClick={() => abc('/user')}>User</button>
);
}
export default Navigation;