плохо знакомы с React-redux, используя React (из create -act-app) с response-redux и Jest для тестов
Основная проблема заключается в разнице в поведении при использовании combReducers после рефакторинга большого редуктора и нарезка его на маленькие индивидуальные редукторы
Итак, я проверяю свое начальное состояние с помощью простого expect(store.getState()).toEqual({});
При использовании одного «большого» редуктора тесты проходят, поскольку одиночные редукторы возвращают {} по умолчанию
Но когда я комбинирую новые редукторы, я получаю часть состояния, за которое каждый редуктор отвечает, в мое состояние. Это нарушает тест и показывает, что приложение будет вести себя по-разному
Итак, с: createStore(combineReducers({users: receiveUsersReducer, questions: receiveQuestionsReducer, userLoggedIn: userLoggedIn})
и для каждого редуктора с параметром состояния по умолчанию, установленным в (state = {}, action = {})
, я получаю следующее результат:
- Expected
+ Received
- Object {}
+ Object {
+ "questions": Object {},
+ "userLoggedIn": Object {},
+ "users": Object {},
+ }
пустые объекты для каждого редуктора, где я бы ожидал простого {}
Это означает, что мне придется добавить дополнительный слой "ключ" (с вопросами, пользователи или userLoggedI) при доступе к моему состоянию через приложение сейчас? Например, если бы у меня было:
const currentState = store.getState()
currenState.users
понадобится ли мне теперь:
const currentState = store.getState().users
currenState.users
Спасибо за разъяснения