使用 Re-base 时 Firebase 在 React 中绑定和解除绑定

Firebase Bind and Unbind from State in React when using Re-base

在将 re-base 模块与 Firebase 和 React 结合使用时,我在 React 以及跨应用程序从 Firebase 获取内容的方式方面遇到了一些问题。

我有两个组件/"pages" 和

在家里,我只是 "post" 一条评论,并显示刚刚发布的评论和已发布的评论数。在评论中,我想显示所有已发布的评论。

我正在将 Home 中的评论添加到 firebase 及其工作...

var base = Rebase.createClass('https://my-app.firebaseio.com/');

componentDidMount : function() {

    base.bindToState('comments' , {

      context : this, 
      state : 'comments',

    });

这完全有效我可以 "post" 评论到 firebase 并同步它们。当我从“主页”转到“评论”然后再回来时,问题就来了,我收到了这个错误。

Endpoint (comments) already has listener bindToState 

我试过这个:

componentWillUnmount: function() {

 base.removeBinding('comments');    


},

但是没有用。这不是在 React 中做这件事的正确方法吗,我错过了什么吗?我会感谢一些帮助。谢谢!

根据此处的文档 https://github.com/tylermcginnis/re-base,您的代码应该是...

this.commentsRef = base.bindToState('comments' , {
   context : this, 
   state : 'comments',
});

还有...

componentWillUnmount(){
  base.removeBinding(this.commentsRef);
}