randallknutson / redux-injector

Allows dynamically injecting reducers into a redux store at runtime
59 stars 14 forks source link

injectReducer force parameter #9

Open GuillaumeCisco opened 7 years ago

GuillaumeCisco commented 7 years ago

Hey there,

I see in the source code:

export function injectReducer(key, reducer, force = false) {
  // If already set, do nothing.
  if (has(store.injectedReducers, key) || force) return;

  set(store.injectedReducers, key, reducer);
  store.replaceReducer(combineReducersRecurse(store.injectedReducers));
}

What is the purpose of the force parameter? If injectedReducers has the reducer key, it won't replace it If we force it by settings force to true, it won't replace it either.

Should not the force parameter set to true replace the reducer even if injectedReducers has it?

GuillaumeCisco commented 7 years ago

I've just created a PR for fixing this issue: https://github.com/randallknutson/redux-injector/pull/10 It would be great if it could be merged quickly and released on npm.

It allows us to support hot reloading with reducer. I've also made the same change with redux-sagas-injector.