No se pueden obtener datos de React-Native-Firebase (v6) Firestore: undefined no es una función (cerca de '... this._firestore.native.collectionGet ...')


11

He estado atrapado en este problema por tanto tiempo. Acabo de comenzar a implementar Firestore en mi aplicación react-native con react-native-firebase. Solo estoy siguiendo los documentos [ https://invertase.io/oss/react-native-firebase/v6/firestore/quick-start#reading-data] pero no me funciona.

Esto está en Android. Todavía no lo he probado en iOS.

Sigo recibiendo este error:

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

Aquí está el código relevante:

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

Cualquier ayuda sería muy apreciada!


1
Estoy teniendo el mismo error. Cualquier ayuda sería apreciada.
Burning Hippo

@BurningHippo Así que simplemente desinstalé / reinstalé los módulos, e hice un 'react-native run-android' nuevamente y ahora funciona. idk man lol
Akshat Jain

1
Estoy teniendo el mismo error. La reinstalación del módulo no funcionó para mí.
Mohit Bhansali

Respuestas:


2

Este error se produce porque falta el módulo RNFirestore nativo.

Después de yarn @react-native-firebase/firestoreque necesita ejecutar pod instally activar una reconstrucción con react-native run-ios.


1

Si tiene una buena configuración de firebase / Firestore, por lo que sus consultas son falsas, puede probar con algo como eso:

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

firestore()
  .collection('collection')
  .onSnapshot((querySnapshot) => {
     console.log(querySnapshot)
  })
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.