У меня есть следующий код:
const persistedState = window.localStorage.getItem(DEFAULT_LOCALSTORAGE_NAME)
? JSON.parse(window.localStorage.getItem(DEFAULT_LOCALSTORAGE_NAME))
: {};
const store = createStore(rootReducer, persistedState, enhancer);
console.info('persisted state', persistedState);
console.info('stringified store', JSON.stringify(store.getState()));
Однако в консоли я вижу следующий результат:
Любая идея, почему состояние установлено неправильно (оно использует начальное состояние, которое я установил на своем редукторе)?
@Fyodor Я уже исправил проблему, спасибо.
Я довольно легко решил проблему, рефакторинг редьюсеров: я применил плоскую структуру и разделил мой текущий редюсер с помощью combreducers. Редукторы требуют чистых функций без побочных эффектов, так что на самом деле правильнее было бы все-таки сделать так.
Что
enhancer
вы используете? Пытались ли вы войти в функциюcreateStore
, чтобы увидеть, что происходит на самом деле?