【发布时间】:2019-08-17 11:13:36
【问题描述】:
我正在使用 react-native-firebase 包、react-native 和 redux。 当我试图通过从 firebase 数据库中获取任务来初始化数据时。我正在从我的 react 组件的 componentDidMount() 方法中调用异步 redux 操作。
componentDidMount() {
let uid = null;
if (this.props.sessionState.authUser) {
uid = this.props.sessionState.authUser.uid;
}
this.props.fetchToDos(uid);
}
在第一次构建 React Native 应用程序时一切正常,但是当我保存并重新加载时,由于某种原因,我的 db 调用的回调没有被调用,并且在我完全重建我的应用程序之前它一直不会被调用。在第一次加载应用时,它再次运行良好。
这是对数据库的调用:
export const fetchToDos = (uid) => async dispatch => {
var userId = firebase.auth().currentUser.uid;
database.ref().child('users/' + userId + '/tasks/').on('value', snapshot => {
console.log('INSIDE');
dispatch({
type: 'FETCH_TASKS',
payload: snapshot.val()
});
})
};
我正在从网络移植我的应用程序,此代码与我的网络应用程序完美配合。
【问题讨论】:
标签: javascript firebase react-native firebase-realtime-database react-native-firebase