【问题标题】:Callback not called in database .on method未在数据库.on 方法中调用回调
【发布时间】: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


    【解决方案1】:

    This Github issue 好像是你的问题,我想你应该看看。祝你好运!

    【讨论】:

    • 谢谢,我通过禁用 Live Reload 并每次手动重新加载或使用 Hot Reload 找到了部分解决方案。很奇怪的bug
    猜你喜欢
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 1970-01-01
    • 2013-10-26
    相关资源
    最近更新 更多