Angular搭配Firebase Firestore时报ref.onSnapshot未定义如何解决?
错误触发原因
collection()方法的查询构造回调函数存在返回值分支缺失问题:仅当someValue === true时会返回构造后的查询对象,其余情况下函数无显式返回,默认返回undefined- Firestore底层会调用该回调返回的查询实例的
onSnapshot方法实现数据监听,对undefined调用方法自然触发该类型错误。
修复方案
补全回调函数的返回逻辑,保证所有执行分支都返回有效的查询实例即可,修改后代码如下:
this.fbstore .collection(`claims`, ref => { let query: | firebase.default.firestore.CollectionReference | firebase.default.firestore.Query = ref; if(someValue === true) { query = query.where('field1', '==', 20); } // 所有分支统一返回最终的query对象 return query; }).valueChanges();
内容的提问来源于stack exchange,提问作者Sivuyile TG Magutywa
相关产品推荐
相关产品推荐

