Redux Dev Tools Chrome Extension Immutable.js вызывает ошибку
В настоящее время моя установка приставки (которая использует Immutable.js для своего состояния) работает полностью так, как нужно. Тем не менее, при расширении приставки redux dev tools выдает следующую ошибку:
Произошла ошибка в редукторе TypeError: n.withMutations не является функцией
Для контекста, я использую redux-immutable для функции комбайнового редуктора, чтобы, ну, в общем, объединить мой реактив-маршрутизатор-редуктор:
import { fromJS } from 'immutable';
import { LOCATION_CHANGE } from 'react-router-redux';
const initialState = fromJS({
locationBeforeTransitions: null,
});
export default (state = initialState, action) => {
if (action.type === LOCATION_CHANGE) {
return state.merge({
locationBeforeTransitions: action.payload,
});
}
return state;
};
и мои бизнес-логики редукторы.
ОБНОВЛЕНИЕ: Создание производственного пакета с веб-пакетом, тестирование приложения в рабочем режиме (в контейнере Docker) и повторное тестирование приложения в режиме разработки (на локальной машине без докера), похоже, решили проблему? Странный...
1 ответ
Если вы хотите использовать react-router-redux
нет необходимости реализовывать собственный редуктор, просто импортируйте routerReducer в качестве ключевой маршрутизации (важно) из react-router-redux
как показано ниже и в сочетании с другими редукторами,
import { syncHistoryWithStore, routerReducer } from 'react-router-redux'
// Add the reducer to your store on the `routing` key
const store = createStore(
combineReducers({
...reducers,
routing: routerReducer
})
)
//To Sync navigation events with the store
const history = syncHistoryWithStore(browserHistory, store)
ReactDOM.render(
<Provider store={store}>
{ /* Tell the Router to use our enhanced history */ }
<Router history={history}>
<Route path="/" component={App}>
<Route path="foo" component={Foo}/>
<Route path="bar" component={Bar}/>
</Route>
</Router>
</Provider>,
document.getElementById('mount')
)
Надеюсь, это то, что вы пытаетесь реализовать