Não é possível obter dados do Firestore do React-Native-Firebase (v6): undefined não é uma função (próximo a '… this._firestore.native.collectionGet…')


11

Estou preso nessa questão há tanto tempo. Eu apenas comecei a implementar o Firestore no meu aplicativo react-native com o react-native-firebase. Estou apenas seguindo os documentos [ https://invertase.io/oss/react-native-firebase/v6/firestore/quick-start#reading-data], mas isso não funciona para mim.

Isso está no Android. Ainda não testou no iOS.

Eu continuo recebendo esse erro:

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

Aqui está o código relevante:

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);
    }
  }
}

Qualquer ajuda seria muito apreciada!


11
Estou recebendo o mesmo erro. Qualquer ajuda seria apreciada.
Burning Hippo

@BurningHippo Então, eu apenas desinstalei / reinstalei os módulos e fiz um 'react-native run-android' novamente e agora funciona. idk man lol
Akshat Jain /

11
Estou recebendo o mesmo erro. A reinstalação do módulo não funcionou para mim.
Mohit Bhansali

Respostas:


2

Este erro ocorre porque o módulo RNFirestore nativo está ausente.

Depois que yarn @react-native-firebase/firestorevocê precisar executar pod installe acionar uma reconstrução com react-native run-ios.


1

Se você tem uma boa configuração firebase / Firestore, é porque suas consultas são falsas, você pode testar com algo assim:

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

firestore()
  .collection('collection')
  .onSnapshot((querySnapshot) => {
     console.log(querySnapshot)
  })
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.