React Native, Redux, обновления перезаписывают initialState, Firebase - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь сохранить информацию по умолчанию в моем редукторе пользователя, а затем добавить свой ответ для входа в 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
}

Спасибо за любую помощь !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...