在這裏使用React-redux並且有一些問題,有些人可能會提供幫助。Reducer沒有返回預期的空對象
用戶可以創建「作業」(帖子)並將其刪除。添加它們不成問題,減速器返回預期的結果。但是,一旦從(firebase)數據庫中刪除作業,我會觸發當前作業的新提取,但還原器仍會返回舊作業。我錯過了什麼嗎?
之前刪除,這是工作對象的樣子:
activeJobs= {
-KrkPPy4ibSraKG-O49S: {
title: 'Help',
location: 'etc,
...
},
-KrkPPy4ibSraKG-O49S: {
title: 'Help',
location: 'etc,
...
} and so on
}
當我將它們全部刪除我得到這個{}
從服務器返回。預期。 什麼不是預期的是我的減速器仍然返回舊作業,我的組件不會重新呈現。
我派遣一個動作抓取作業後:
firebase.database().ref(`/jobs/activeJobs/${currentUser.uid}`)
.on('value', snapshot => {
console.log('new activeJobs ===', snapshot.val());
dispatch({
type: FETCH_JOBS_SUCCESS,
payload: snapshot.val()
});
});
snapshot.val()不包含新的更新工作。
當年這裏是處理操作的減速機:
switch (action.type) {
case FETCH_JOBS_SUCCESS:
// ...state contains the OLD jobs and action.payload contains {}. Why is is not overriding it the old jobs?
return { ...state, ...action.payload };
default:
return state;
}
爲什麼我減速失敗?