【发布时间】:2020-09-15 08:58:49
【问题描述】:
我正在从 Firebase Real-time database 获取数据并将其存储到我的 redux 状态中。如何创建一个在初次调用后获得最新和最新状态的操作?
const getIds = (state) => state.notes.activeNotes;
export const getUserNotes = (currentUserId) => (dispatch, getState) => {
getFromFirebase(`/Notes/${currentUserId}/`, (response) => {
var ids = Object.keys(response)
dispatch(setNoteIds(ids)); //should dispatch ids something like this [1,2,3,4,5]
})
const test= getIds(getState());
console.log(test); //current output []
}
Expected output: [1,2,3,4,5]
Actual output: []
【问题讨论】:
-
你想要调用 api 来获取最新数据吗?
-
getFromFirebase() 函数填充 ID 的 activeNotes。填充后,我希望能够读取帖子填充状态,因此它不是一个空数组,而是包含从 getFromFirebase() 获取的 Id
-
看起来
getFromFirebase是异步的,这意味着您可以等待结果然后设置调度,然后再次检索您的状态 -
@tmhao2005 可以举个例子吗?
标签: javascript reactjs redux react-redux redux-thunk