JS не находит значение по пути объекта. Ошибка TypeError: Cannot read property 'byId' of undefined
Работаю со стеком React+Redux. Сейчас имею state с такой иерархией:
В коде пытаюсь обратиться к ключу byId объекта engines, кидает ошибку - 'byId' of undefined.
Причем, когда пытаюсь обратиться просто к engines, например: console.log(state.data.allData.engines) - все отлично находит. И внутри лежит allId и byId:
Как только пытаюсь обратится к byId или allId console.log(state.data.allData.engines.allId) - ошибка.
Ответы (1 шт):
Автор решения: mr.smile
→ Ссылка
Действительно, при первом рендере компонента в state не было byId, поэтому была ошибка.
Решением было "глубже" инициализировать исходный state. Было:
const initialState:initialStateType = {
allData: {},
error: null,
loading: true
}
Стало:
const initialState:initialStateType = {
allData: {
materials: {},
engines: {},
fasteningCover: {},
optionsForBoat: {},
optionsForEngine: {}
},
error: null,
loading: true
}


