javascript-在storeWillUnmount中,必须取消订阅Firestore / React
作者:互联网
我有一个位于特定路线的组件:
<Route path='/route-path' component={MyComponent} />
在这个组件中,我所有的firestore侦听器都在componentDidMount中创建,如下所示:
componentDidMount() {
var unsubscribe = db.collection(name)
.where("query", "==", false)
.onSnapshot((querySnapshot) => {
// do something
})
}
如果路由发生更改,是否有必要取消订阅该侦听器?就像是:
componentWillUnmount() {
unsusbscribe() // from componentDidMount
}
还是通过路由更改自动处理此问题,即websocket关闭了连接?
解决方法:
Firestore SDK不具备有关ReactJS和/或其生命周期事件的隐式知识.
您需要退订自己的代码.它不会自动完成.
标签:javascript,firebase,reactjs,react-router,google-cloud-firestore 来源: https://codeday.me/bug/20191011/1894465.html