ไม่สามารถรับข้อมูลจาก React-Native-Firebase (v6) Firestore: undefined ไม่ใช่ฟังก์ชั่น (ใกล้ '… this._firestore.native.collectionGet …')


11

ฉันติดปัญหานี้มานานแล้ว ฉันเพิ่งเริ่มใช้ Firestore ในแอปพลิเคชันแบบตอบรับดั้งเดิมของฉันพร้อมฐานตอบโต้แบบเนทีฟ ฉันแค่ติดตามเอกสาร [ https://invertase.io/oss/react-native-firebase/v6/firestore/quick-start#reading-data]แต่มันไม่ได้ผลสำหรับฉัน

นี่คือใน Android ยังไม่ได้ทดสอบใน iOS

ฉันได้รับข้อผิดพลาดนี้:

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

นี่คือรหัสที่เกี่ยวข้อง:

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

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมมาก!


1
ฉันได้รับข้อผิดพลาดเดียวกัน ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม
เผาไหม้ฮิปโป

@BurningHippo ดังนั้นฉันเพิ่งถอนการติดตั้ง / ติดตั้งโมดูลใหม่อีกครั้งและทำ 'react-native run-android' อีกครั้งและตอนนี้ก็ใช้งานได้ idk man lol
Akshat Jain

1
ฉันได้รับข้อผิดพลาดเดียวกัน การติดตั้งโมดูลใหม่ไม่ทำงานสำหรับฉัน
Mohit Bhansali

คำตอบ:


2

ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากโมดูล RNFirestore ดั้งเดิมหายไป

หลังจากที่yarn @react-native-firebase/firestoreคุณจำเป็นต้องใช้และเรียกการสร้างด้วยpod installreact-native run-ios


1

หากคุณมีการตั้งค่า firebase / Firestore ที่ดีดังนั้นเนื่องจากข้อสงสัยของคุณเป็นเท็จคุณสามารถทดสอบกับสิ่งต่อไปนี้:

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

firestore()
  .collection('collection')
  .onSnapshot((querySnapshot) => {
     console.log(querySnapshot)
  })
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.