【发布时间】:2016-11-05 13:33:32
【问题描述】:
我正在向我的 Firebase 提出关于我的 React Native 应用程序的更新请求,并考虑到了 redux。
这是我的 redux sn-p
export function buyTicket(eventID) {
const { currentUser } = firebase.auth();
return (dispatch) => {
firebase.database().ref(`/Users/${currentUser.uid}/joinedEvent`).update({ [eventID]: true })
.then(() => dispatch({ type: BUY_TICKET_SUCCESS }))
.catch(() => dispatch({ type: BUY_TICKET_FAIL }));
};
};
当调用 buyTicket 函数时,应该只需要 then() 方法,但 then() 和 catch() 都会被调用。
根据 Firebase 文档,update() 产生一个承诺,但它是可选的。
这是我的减速器
export default (state = INITIAL_STATE, action) => {
switch (action.type) {
case PULL_EVENT_DATA:
return action.payload;
case PULL_TRENDING_DATA:
return action.payload;
case BUY_TICKET_SUCCESS:
return {
message: 'Yay, see you there!'
}
case BUY_TICKET_FAIL:
return {
message: 'shit'
}
default:
return state;
}
}
【问题讨论】:
-
你确定渔获回来了吗?
Object.assign是第一个警告线,可能和你的reducer有关? -
我已经修改了我的减速器,但它看起来对我来说还不错......@Jan
标签: javascript reactjs firebase firebase-realtime-database redux