Firebase “value”事件不会在 React Native 中触发

Firebase 'value' events aren't firing in React Native

本文关键字:Native React value 事件 Firebase      更新时间:2023-09-26

我有一个函数,意思是订阅Firebase子网址上的value事件。它看起来像

function getMessages(chat) {
  var ref = new Firebase(".../"+chat+"/messages");
  ref.limitToLast(10).on('value', function(snapshot) {
    ...
  });
}

这是从 React 组件的 componentWillMount 方法调用的,如下所示:

componentWillMount() {
    getMessages(this.props.chat);
}

我第一次调用这个函数时,一切正常,而且速度非常快。但是,如果我使用不同的chat参数调用它,则回调永远不会触发。第一次加载甚至没有一次。

据我所知,通过将console.log放在每隔一行上,componentWillMount正在发射,getMessages正在被调用。

什么给?有什么想法吗?

谢谢。

编辑:请注意,我正在尝试在 React Native 中实现这一点。我进一步简化了,让我的 React 组件直接连接到 firebase。看看这个小提琴。这在小提琴中完美运行,但在 React Native 中,当它第一次连接时,如果您单击返回并进入另一个聊天,它将永远不会触发value事件。

在一个全新的项目中,它似乎有效,所以问题一定出在其他地方。这是一个要点。