Если мы хотели программно изменить маршрут в рамках redux, мы использовали пакет react-router-redux
npm. Однако он был заархивирован его автором. Теперь рекомендуемое решение connected-react-router
:
https://www.npmjs.com/package/connected-react-router
Но, как говорят в этом пакете документы, для его работы следует использовать INSTEAD из react-router
.
Обычно я использовал react-router-dom
:
import { BrowserRouter } from 'react-router-dom';
<BrowserRouter>
<Route path='/' />
<Route path='/hey' />
</BrowserRouter>
Но, как говорят документы, я должен заменить react-router v4/v5
на ConnectedRouter
из пакета:
import { ConnectedRouter } from 'connected-react-router';
<ConnectedRouter history={history}>
<Route path={'/'} />
<Route path={'/foo'} />
</ConnectedRouter>
Но эта ситуация вызывает проблему с Link
из react-router-dom
. Link
должен быть размещен внутри BrowserRouter
, но я НЕ МОГУ ИСПОЛЬЗОВАТЬ ЭТО, потому что нет BrowserRouter
, потому что, КАК ДОКАЗЫВАЮТСЯ ДОКУМЕНТЫ - "Не забудьте удалить любое использование BrowserRouter или NativeRouter, так как оставление этого приведет к проблемам синхронизация состояния. "
Проблема в том, что ConnectedRouter
является подключенной версией react-router
, а не react-router-dom
, поэтому в ней нет ничего похожего на Link
или NavLink
.
Должен быть какой-то способ, если я не верю, что этот пакет не будет иметь 3k звезд на github ...
Вопрос: Как использовать Link
внутри ConnectedRouter
? Спасибо!