Firebase'价值'事件不会在React Native中触发

时间:2016-02-06 21:20:39

标签: javascript firebase react-native

我有一个函数,可以在firebase子URL上订阅In [17]: player.__class__ Out[17]: __main__.Character In [18]: player.__class__ == Character Out[18]: False In [20]: player2 = Character() In [21]: player2.__class__ Out[21]: __main__.Character In [22]: player2.__class__ == Character Out[22]: True 个事件。它看起来像

value

这是从React组件的function getMessages(chat) { var ref = new Firebase(".../"+chat+"/messages"); ref.limitToLast(10).on('value', function(snapshot) { ... }); } 方法调用的,如下所示:

componentWillMount

我第一次使用此功能时,一切正常,而且速度非常快。但是,如果我使用不同的componentWillMount() { getMessages(this.props.chat); } 参数调用它,则回调永远不会触发。第一次加载时甚至没有一次。

据我所知,通过将chat放在其他所有行上,console.log正在触发,componentWillMount正在被调用。

是什么给出的?有任何想法吗?

感谢。

编辑:注意我试图在React Native中实现它。我进一步简化了,让我的React组件直接连接到firebase。 Check out this fiddle。这在小提琴中完美地工作,但是在第一次连接的React Native中,如果你点击返回并进入另一个聊天,它将永远不会触发getMessages事件。

1 个答案:

答案 0 :(得分:0)

在一个全新的项目中,它似乎有效,所以问题必定在其他地方。 Here's a gist.