В React Router v4 ты можешь получить доступ к объекту history, создав свой собственный модуль history и передав его в компонент Router. Это позволит тебе программно перемещаться по приложению.
Создай файл history.js, который экспортирует объект history:
import { createBrowserHistory } from 'history'
export default createBrowserHistory()
Это централизует конфигурацию твоего history в одном месте, откуда его можно импортировать в любой части проекта.
Замени встроенные компоненты роутера на компонент <Router> и передай свой объект history:
import { Router } from 'react-router-dom'
import history from './history'
import App from './App'
ReactDOM.render(
<Router history={history}>
<App />
</Router>,
document.getElementById('root')
)
Импортируй объект history в любом файле, где нужна программная навигация:
import history from './history'
history.push('/desired-route')
Такой подход особенно полезен, когда навигация нужна в ответ на события вне дерева компонентов — например, в API-запросах или в логике аутентификации.
В React Router v4 функция createBrowserHistory импортируется из пакета react-router-dom для создания пользовательского объекта history.
Новый — ещё не проверен сообществом
Вы