无法从 React-Native-Firebase(v6) Firestore 获取数据:未定义不是函数(靠近 '...this._firestore.native.collectionGet...'

Posted

技术标签:

【中文标题】无法从 React-Native-Firebase(v6) Firestore 获取数据:未定义不是函数(靠近 \'...this._firestore.native.collectionGet...\')【英文标题】:Can't get data from React-Native-Firebase(v6) Firestore: undefined is not a function (near '...this._firestore.native.collectionGet...')无法从 React-Native-Firebase(v6) Firestore 获取数据:未定义不是函数(靠近 '...this._firestore.native.collectionGet...') 【发布时间】:2020-03-25 01:04:36 【问题描述】:

我在这个问题上纠结了很久。我刚刚开始使用 react-native-firebase 在我的 react-native 应用程序中实现 Firestore。我只是关注文档 [https://invertase.io/oss/react-native-firebase/v6/firestore/quick-start#reading-data] 但它对我不起作用。

这是在 android 中。尚未在 ios 中测试。

我不断收到此错误:

[TypeError: undefined is not a function (near '...this._firestore.native.collectionGet...')]

以下是相关代码:

import React, Component from 'react';
import  firebase  from '@react-native-firebase/firestore';

export default App extends Component
  constructor(props) 
    super(props);

    this.getData= this.getData.bind(this)
    this.getData()

    this.state = ;
  

  async getData() 
    try 
      const querySnapshot = await firebase.firestore()
      .collection('Gyms')
      .get() //error with this

      console.log('Documents', querySnapshot.docs);

     catch (e) 
      console.log(e);
    
  



任何帮助将不胜感激!

【问题讨论】:

我遇到了同样的错误。任何帮助将不胜感激。 @BurningHippo 所以我刚刚卸载/重新安装了模块,并再次执行了“react-native run-android”,现在它可以工作了。 idk 男人大声笑 我遇到了同样的错误。重新安装模块对我不起作用。 【参考方案1】:

出现此错误是因为缺少本机 RNFirestore 模块。

yarn add @react-native-firebase/firestore 之后,您需要运行pod install 并使用react-native run-ios 触发重建。

编辑:安装此模块还需要您在 android 中重新捆绑您的应用程序。运行类似react-native run-android 的东西来做到这一点。

【讨论】:

【参考方案2】:

当您重新捆绑并重新启动 android 开发服务器时,此问题会解决

【讨论】:

【参考方案3】:

如果你有一个很好的 firebase / Firestore 设置,那是因为你的查询是错误的,你可以用类似的东西进行测试:

import firestore from '@react-native-firebase/firestore';

firestore()
  .collection('collection')
  .onSnapshot((querySnapshot) => 
     console.log(querySnapshot)
  )

【讨论】:

以上是关于无法从 React-Native-Firebase(v6) Firestore 获取数据:未定义不是函数(靠近 '...this._firestore.native.collectionGet...'的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Android 中设置 @react-native-firebase/messaging

iOS 无法在 react-native-firebase 中接收通知

无法在 ios 中接收来自 react-native-firebase 的通知消息

@react-native-firebase\dynamic-links 找不到符号

React-native-firebase 应用内消息不起作用

如何使用 react-native-firebase 在 iOS 设备的推送通知中添加按钮?