diff --git a/lib/ReduxInjector.js b/lib/ReduxInjector.js index 544b4b6..e8c3164 100644 --- a/lib/ReduxInjector.js +++ b/lib/ReduxInjector.js @@ -13,8 +13,9 @@ var _redux = require('redux'); var _lodash = require('lodash'); -var store = {}; -var combine = _redux.combineReducers; +var store = {}, + combine = _redux.combineReducers, + injectedReducers = {}; function combineReducersRecurse(reducers) { // If this is a leaf or already combined. @@ -76,7 +77,7 @@ function createInjectStore(initialReducers) { store = _redux.createStore.apply(undefined, [combineReducersRecurse(initialReducers)].concat(args)); - store.injectedReducers = initialReducers; + injectedReducers = initialReducers; return store; } @@ -85,8 +86,8 @@ function injectReducer(key, reducer) { var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; // If already set, do nothing. - if ((0, _lodash.has)(store.injectedReducers, key) || force) return; + if ((0, _lodash.has)(injectedReducers, key) || force) return; - (0, _lodash.set)(store.injectedReducers, key, reducer); - store.replaceReducer(combineReducersRecurse(store.injectedReducers)); + (0, _lodash.set)(injectedReducers, key, reducer); + store.replaceReducer(combineReducersRecurse(injectedReducers)); } \ No newline at end of file diff --git a/src/ReduxInjector.js b/src/ReduxInjector.js index 4d3e506..5acde50 100644 --- a/src/ReduxInjector.js +++ b/src/ReduxInjector.js @@ -1,8 +1,10 @@ import { createStore, combineReducers } from 'redux'; import { set, has } from 'lodash'; -let store = {}; -let combine = combineReducers; +let store = {}, + combine = combineReducers, + injectedReducers = {}; + function combineReducersRecurse(reducers) { // If this is a leaf or already combined. @@ -41,15 +43,15 @@ export function createInjectStore(initialReducers, ...args) { ...args ); - store.injectedReducers = initialReducers; + injectedReducers = initialReducers; return store; } export function injectReducer(key, reducer, force = false) { // If already set, do nothing. - if (has(store.injectedReducers, key) || force) return; + if (has(injectedReducers, key) || force) return; - set(store.injectedReducers, key, reducer); - store.replaceReducer(combineReducersRecurse(store.injectedReducers)); + set(injectedReducers, key, reducer); + store.replaceReducer(combineReducersRecurse(injectedReducers)); }