Tidak bisa mendapatkan data dari React-Native-Firebase (v6) Firestore: undefined bukan fungsi (dekat '... this._firestore.native.collectionGet ...')


11

Saya sudah terjebak pada masalah ini begitu lama. Saya baru saja mulai mengimplementasikan Firestore di aplikasi reaksi-asli saya dengan reaksi-asli-firebase. Saya hanya mengikuti dokumen [ https://invertase.io/oss/react-native-firebase/v6/firestore/quick-start#reading-data] tetapi tidak berhasil untuk saya.

Ini di Android. Belum diuji di iOS.

Saya terus mendapatkan kesalahan ini:

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

Berikut kode yang relevan:

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

Bantuan apa pun akan sangat dihargai!


1
Saya mendapatkan kesalahan yang sama. Bantuan apa pun akan dihargai.
Burning Hippo

@BurningHippo Jadi saya hanya menghapus / menginstal ulang modul, dan melakukan 'reaksi-asli run-android' lagi dan sekarang berfungsi. idk man lol
Akshat Jain

1
Saya mendapatkan kesalahan yang sama. Menginstal ulang modul tidak berhasil untuk saya.
Mohit Bhansali

Jawaban:


2

Kesalahan ini terjadi karena modul RNFirestore asli hilang.

Setelah yarn @react-native-firebase/firestoreAnda perlu menjalankan pod installdan memicu membangun kembali dengan react-native run-ios.


1

Jika Anda memiliki pengaturan firebase / Firestore yang baik sehingga karena pertanyaan Anda salah, Anda dapat menguji dengan sesuatu seperti itu:

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

firestore()
  .collection('collection')
  .onSnapshot((querySnapshot) => {
     console.log(querySnapshot)
  })
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.