У меня есть приложение-ответ с использованием React-Router v4. Вне моего приложения у меня есть некоторые ссылки, которые необходимо обновить маршрутизатор. Как получить доступ к маршрутизатору извне реагирования? Я каким-то образом выставляю экземпляр BrowserRouter на объект окна?Обновление React Router 4 извне реагирует
ответ
tl; dr В настоящее время нет хорошего решения, и вы, вероятно, должны дождаться завершения API API v4, прежде чем приступать к реализации чего-либо. Существуют различные подходы к тому, как вы это сделаете для разных филиалов/выпусков проекта. Который будет работать в финальном выпуске, в основном будет угадать прямо сейчас.
Идеальный способ будет аналогичен v2/3. В этих версиях вам доступны browserHistory
и hashHistory
, которые вы можете импортировать по всему проекту и всегда иметь доступ к тому же экземпляру history
.
Вы можете создать свой собственный экземпляр истории аналогичным образом.
// history.js
import { createBrowserHistory } from 'history'
// configure your history instance here if you need to
export default createBrowserHistory()
На протяжении всего проекта, вы сможете импортировать history
экземпляр.
К сожалению, все компоненты маршрутизатора, вскрытых текущей версии v4 не позволяют передать в существующий экземпляр истории. Вместо этого все они создают для вас экземпляр history
. Чтобы обойти это, вам нужно будет создать свой собственный компонент маршрутизатора, который займет ваш history
экземпляр в качестве опоры. Как вы это сделаете, совершенно разные версии в разных версиях.
- 1. React, Redux, React-Router?
- 2. Обновление свойств компонента извне
- 3. Неисправность Настройка React-Router
- 4. React Router with React v0.14.3
- 5. React-router 2v vs React-router 3v - в чем разница?
- 6. React router re-render
- 7. React Router где использовать AJAX
- 8. React Router Navigation
- 9. React Router глубокая привязка
- 10. React router OnChange redirect
- 11. React router popup windows
- 12. React-Router onChange hook
- 13. React Router and Authentication
- 14. React, Electron, and Router
- 15. React router - неопределенная история
- 16. React Router getHistory
- 17. React Router Param
- 18. React Router Push Silently
- 19. React router глобальный заголовок
- 20. React Router - Читать URL
- 21. React Router Match Miss
- 22. React Router + Redux?
- 23. RouteHandler React-Router Undefined
- 24. React Router Redux Immutable
- 25. React Router Props Undefined
- 26. Клиент-клиент React-Router
- 27. Параметры ReactJS React Router
- 28. Браузер История React Router
- 29. React router navbar navigation
- 30. React-Router, понимая переходы
По обновлению, вы имеете в виду, что вам нужно перемещаться извне ваших компонентов? –
Да. Моим временным решением было установить приложение, выставить метод в окне, который вызывает 'this.context.router.transitionTo()'. Не идеален, но работает пока. – Ben