Как исправить 'Не удается установить свойство' ref 'из undefined? - PullRequest
1 голос
/ 04 апреля 2019

Так что я пытаюсь сделать это очень просто: просто получайте данные из Cloud Firestore.

У меня следующий код:

import React from 'react';
import firebase from "react-native-firebase";

export default class newsFeed extends React.Component {
 constructor() {
  this.ref = firebase.firestore().collection('keys')
}

 async load(id) {
  const doc = await this.ref.doc(id).get()
  if (doc.exists) {
    return doc.data()
  }
 }
}

Я получаю сообщение об ошибке: «Невозможно установить свойство ref из undefined».

Как это исправить и чтопроблема?

Извлечено из этого урока: https://medium.com/react-native-training/firebase-sdk-with-firestore-for-react-native-apps-in-2018-aa89a67d6934

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

Вы экспортируете класс без создания экземпляра. Вы должны сделать что-то вроде:

import React from 'react';
import firebase from "react-native-firebase";

class NewsFeed extends React.Component {
 constructor() {
  this.ref = firebase.firestore().collection('keys')
}

 async load(id) {
  const doc = await this.ref.doc(id).get()
  if (doc.exists) {
    return doc.data()
  }
 }
}

export default newsFeed = new NewsFeed();

Надеюсь, это поможет:)

0 голосов
/ 04 апреля 2019

Обычно помогают функции стрелок.

 load = async (id) => { //...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...