Impossible d'obtenir les données de React-Native-Firebase (v6) Firestore: undefined n'est pas une fonction (près de '… this._firestore.native.collectionGet…')


11

Je suis coincé sur cette question depuis si longtemps. Je viens de commencer à implémenter Firestore dans mon application react-native avec react-native-firebase. Je suis juste en train de suivre les documents [ https://invertase.io/oss/react-native-firebase/v6/firestore/quick-start#reading-data] mais cela ne fonctionne pas pour moi.

C'est dans Android. N'ont pas encore été testés sur iOS.

Je reçois toujours cette erreur:

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

Voici le code pertinent:

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

Toute aide serait très appréciée!


1
Je reçois la même erreur. Toute aide serait appréciée.
Burning Hippo

@BurningHippo J'ai donc juste désinstallé / réinstallé les modules, et fait à nouveau un 'run-android réactif natif' et maintenant cela fonctionne. idk man lol
Akshat Jain

1
Je reçois la même erreur. La réinstallation du module n'a pas fonctionné pour moi.
Mohit Bhansali

Réponses:


2

Cette erreur se produit car le module RNFirestore natif est manquant.

Après avoir yarn @react-native-firebase/firestorebesoin d'exécuter pod installet de déclencher une reconstruction avec react-native run-ios.


1

Si vous avez une bonne configuration Firebase / Firestore, c'est parce que vos requêtes sont fausses, vous pouvez tester avec quelque chose comme ça:

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

firestore()
  .collection('collection')
  .onSnapshot((querySnapshot) => {
     console.log(querySnapshot)
  })
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.