неожиданно обнаружены ключи, которые были введены - PullRequest
0 голосов
/ 01 июня 2019

При использовании реактивного шаблона я столкнулся с проблемой с инжекторными редукторами.

Ошибка: «Неожиданные ключи ... найдены в предыдущем состоянии, полученном редуктором [...] '

Я понимаю, что это из-за сохраняющихся ключей, у которых нет соответствующих редукторов (поскольку они еще не загружены).

Итак, я пошел с http://nicolasgallagher.com/redux-modules-and-code-splitting/.

В настоящее время я создаю персистор таким образом (возможно, кто-то найдет его полезным):

const persistor = persistStore(store, null, () => {
    Object.keys(store.getState())
      .filter(reducerKey => !globalReducersKeys.includes(reducerKey))
      .forEach(reducerKey => {
        store.injectedReducers[reducerKey] = (state = null) => state;
      });

    store.replaceReducer(createReducer(store.injectedReducers));
    store.persistor.persist();
  });

Есть ли какой-либо другой рекомендуемый способ решения этой проблемы или, может быть, лучше хранить отдельный ключ для каждого динамического редуктора?

Edit:

Я думаю, что сам нашел удовлетворительное решение, подробное описание для заинтересованных здесь .

...