@react-native-firebase/firestore插入GeoPoint报Cannot call a class as a function错误如何解决
解决方案
报错原因
@react-native-firebase/firestore 提供的GeoPoint是构造类,必须通过new关键字实例化后才能使用,你之前直接将其作为普通函数调用,就会触发Cannot call a class as a function报错。
正确实现
写法1:直接从firestore包导入使用
import firestore from '@react-native-firebase/firestore'; // 写入数据时的字段配置 location: new firestore.GeoPoint(纬度值, 经度值)
写法2:从全局firebase实例调用
需确保你已经提前安装并导入了@react-native-firebase/firestore依赖:
import firebase from '@react-native-firebase/app'; import '@react-native-firebase/firestore'; // 写入数据时的字段配置 location: new firebase.firestore.GeoPoint(纬度值, 经度值)
错误写法说明
你之前尝试直接给firebase.firestore.GeoPoint的静态属性赋值的写法不生效,是因为静态属性属于类本身,和实例属性完全独立,该操作既无法生成符合Firestore要求的GeoPoint实例,还会污染全局类的默认配置。
内容的提问来源于stack exchange,提问作者salmanaacvf
相关产品推荐
相关产品推荐

