Nie można uzyskać danych z React-Native-Firebase (v6) Firestore: undefined nie jest funkcją (blisko „… this._firestore.native.collectionGet…”)


11

Tak długo utknąłem w tej sprawie. Właśnie zacząłem wdrażać Firestore w mojej aplikacji Reaktywna-rodzima z Reaktywną-Podstawowa-Firebase Po prostu śledzę dokumenty [ https://invertase.io/oss/react-native-firebase/v6/firestore/quick-start#reading-data], ale to nie działa dla mnie.

To jest w Androidzie. Nie testowałem jeszcze w iOS.

Wciąż pojawia się ten błąd:

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

Oto odpowiedni kod:

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

Każda pomoc będzie mile widziana!


1
Otrzymuję ten sam błąd. Każda pomoc będzie mile widziana.
Burning Hippo

@BurningHippo Więc właśnie odinstalowałem / przeinstalowałem moduły i zrobiłem ponownie „uruchom-android run-android” i teraz działa. idk man lol
Akshat Jain

1
Otrzymuję ten sam błąd. Ponowna instalacja modułu nie działała dla mnie.
Mohit Bhansali,

Odpowiedzi:


2

Ten błąd występuje, ponieważ brakuje natywnego modułu RNFirestore.

Po yarn @react-native-firebase/firestoretym, jak musisz uruchomić pod installi uruchomić odbudowę za pomocą react-native run-ios.


1

Jeśli masz dobrą konfigurację Firebase / Firestore, a to dlatego, że twoje zapytania są fałszywe, możesz przetestować za pomocą czegoś takiego:

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

firestore()
  .collection('collection')
  .onSnapshot((querySnapshot) => {
     console.log(querySnapshot)
  })
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.