Я пытаюсь сохранить информацию по умолчанию в моем редукторе пользователя, а затем добавить свой ответ для входа в Firebase к этой информации по умолчанию. Например:
let userDefaultState = {startingNumber: 0}
const user = (state = userDefaultState, action) => {
switch (action.type) {
case 'RESET_USER':
return userDefaultState
case 'LOGIN':
return action.payload
case 'SET_MY_FEED':
return { ...state, myFeed: action.payload }
case 'UPDATE_FEED':
return { ...state, myFeed: [action.payload, ...state.myFeed]}
default:
return state
}
}
Однако, когда я отправляю LOGIN, он запускает Firebase.db.collection ('user'). Do c (uid) .get () и перезаписывает текущее состояние с ответом (ie полезная нагрузка) вместо добавления его к существующему объекту. Я считаю, что это из-за способа установки случая «ВХОД».
Следующее неверно, но я думаю, что оно иллюстрирует то, что я пытаюсь сделать.
return { ...state, [action.payload, ...state]}
Желаемый результат будет примерно таким:
user = {
//Firebase response
"username": "name", "email": "email@email.com",
//userDefaultState
"startingNumber": 0
}
Спасибо за любую помощь !!