javascript - 如何将 GeoFirestore 与 React Native Firestore 一起使用?
问题描述
我正在尝试在我的 RN 应用程序中实现GeoFirestore,但在他们的文档中,他们没有使用 RN Firestore 库而是另一个:
import firebase from 'firebase/app';
import 'firebase/firestore';
import * as geofirestore from 'geofirestore'; // importing geofirestore
...我正在为 Firestore 使用 RN 库:
import firestore from '@react-native-firebase/firestore';
import * as geofirestore from 'geofirestore'; // importing geofirestore
我遇到了这个错误:
> 错误:Firestore 必须是 Firestore 的实例
失败的代码如下,我试图根据我的位置查询附近的聊天。它在我使用上面的错误消息初始化应用程序的第一行失败。
// Create a GeoFirestore reference
const GeoFirestore = geofirestore.initializeApp(firestore);
// Create a GeoCollection reference
const geocollection = GeoFirestore.collection('chats');
const myCurrentLoc = this.state.location[0];
const latitude = myCurrentLoc.latitude;
const longitude = myCurrentLoc.longitude;
const query = geocollection.near({ center: new firebase.firestore.GeoPoint(latitude, longitude), radius: 20 });
解决方案
Geofirestore 需要一个实例化的 firestore 对象。您的脚本应该看起来更像这样:
import firestore from '@react-native-firebase/firestore';
import * as geofirestore from 'geofirestore';
// Create a GeoFirestore reference
const GeoFirestore = geofirestore.initializeApp(firestore());
推荐阅读
- jquery - 查询所有元素的字段值相同的子文档数组
- nltk - WordNetLemmatizer 不在文本数据中进行词形还原
- reactjs - Feathers:为两个不同的查询自定义 find()
- css - 防止悬停在绝对定位的孩子上传播给父母
- pdf - 如何使用 Ghostscript 为旧版 Kindle 预处理 pdf?
- java - 如何一一获取arraylist值并将其放入stringbuilder java中?
- tensorflow - 相同的代码在不同版本的 tensorflow 上运行,但分配了不同的 gpu 内存
- c# - 简单 for 循环中的索引越界异常:索引变量超出数组长度,原因不明
- sql - 存储过程中的 SQL 查询基于少量计算从另一个表更新一个表?
- mysql - 在 MySQL 中连接 4 个表后没有得到正确的结果