Я новичок, чтобы реагировать, я хотел бы использовать перехватчики реагирования с редуксом (с переадресацией-перехватом) с маршрутизацией (я использую подключенный-реагирующий-маршрутизатор, но я могу переключиться на другую библиотеку)
Я передаю хранилище провайдеру StoreContext, все в порядке, но когда я добавляю ConnectedRouter с правильным контекстом, я получаю ошибки.
Вот что я пытаюсь
//index.js
import { Route, Switch } from 'react-router-dom';
import { ConnectedRouter } from 'connected-react-router';
import { StoreContext, store, history } from './store';
ReactDOM.render((
<StoreContext.Provider value={store}>
<ConnectedRouter history={history} context={StoreContext}>
<Switch>
<Route path="/" component={App}></Route>
</Switch>
</ConnectedRouter>
</StoreContext.Provider>
), document.getElementById('root'));
//store.js
import { composeWithDevTools } from 'redux-devtools-extension/developmentOnly';
import { applyMiddleware, createStore } from 'redux';
import { create } from 'redux-react-hook';
import { routerMiddleware } from 'connected-react-router';
import { createBrowserHistory } from 'history';
import {promiseMiddleware } from './middlewares'
import createRootReducer from './reducer'
export const { StoreContext, useDispatch, useMappedState } = create();
export const history = createBrowserHistory();
export const store = createStore(
createRootReducer(history),
{}, //preloadedState
composeWithDevTools(applyMiddleware(
routerMiddleware(history),
promiseMiddleware
))
);
Но я получаю эту ошибку:
TypeError: sourceSelector is not a function
Connect.selectDerivedProps
C:/Users/NG7F61C/Documents/PROJECTS/1 - IJET/Sources/frontend/node_modules/react-redux/es/components/connectAdvanced.js:112
109 |
110 | lastProps = props;
111 | lastState = state;
> 112 | var nextProps = sourceSelector(state, props);
| ^ 113 | lastDerivedProps = nextProps;
114 | return lastDerivedProps;
115 | };
Я что-то не так делаю или ConnectedRouter не совместим с redux-реагировать-хук?