Daten können nicht von React-Native-Firebase (v6) Firestore abgerufen werden: undefined ist keine Funktion (in der Nähe von '… this._firestore.native.collectionGet…')


11

Ich habe mich so lange mit diesem Thema beschäftigt. Ich habe gerade angefangen, Firestore in meiner reaktionsnativen Anwendung mit reaktionsnativen Feuerbasen zu implementieren. Ich folge nur den Dokumenten [ https://invertase.io/oss/react-native-firebase/v6/firestore/quick-start#reading-data], aber es funktioniert nicht für mich.

Dies ist in Android. Noch nicht in iOS getestet.

Ich bekomme immer wieder diesen Fehler:

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

Hier ist der relevante Code:

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

Jede Hilfe wäre sehr dankbar!


1
Ich erhalte den gleichen Fehler. Jede Hilfe wäre dankbar.
Burning Hippo

@BurningHippo Also habe ich gerade die Module deinstalliert / neu installiert und wieder ein 'React-Native Run-Android' gemacht und jetzt funktioniert es. idk man lol
Akshat Jain

1
Ich erhalte den gleichen Fehler. Das Neuinstallieren des Moduls hat bei mir nicht funktioniert.
Mohit Bhansali

Antworten:


2

Dieser Fehler tritt auf, weil das native RNFirestore-Modul fehlt.

Nachdem yarn @react-native-firebase/firestoreSie ausgeführt pod installund eine Neuerstellung mit ausgelöst haben müssen react-native run-ios.


1

Wenn Sie eine gute Firebase / Firestore-Einrichtung haben, weil Ihre Abfragen falsch sind, können Sie Folgendes testen:

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

firestore()
  .collection('collection')
  .onSnapshot((querySnapshot) => {
     console.log(querySnapshot)
  })
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.