【问题标题】:如何使用 React Native 从 Firebase 实时数据库中读取数据?
【发布时间】:2022-01-23 16:24:02
【问题描述】:

我有一个非常简单的问题,当我尝试从 FireBase 数据库中读取数据时,使用以下代码出现此错误: "TypeError: ref is not a function" 。我挖掘了很多文档,他们都这样使用它,但是我的 ref 变量没有这样的函数。我想查询一个用户('AllatNev')的所有动物名称。

import { getDatabase, ref, set } from 'firebase/database';

const db = getDatabase();
const user_ref = ref(db, auth.currentUser.uid); //This returns my db and the userID
const query = user_ref.child("AllatNev")        //This fails with "no child function"
console.log(query)

我可以用这段代码轻松写数据:

  const reference = ref(db, auth.currentUser.uid +"/"+allatid);
  set(reference, {
    'AllatNev': AllatNev,
    'AllatFaj': valueFaj,
    'AllatFajta': AllatFajta,
    'AllatSzin': AllatSzin,
    'AllatNem': valueNem,
    'AllatSzul': dateText
  });

我的数据如下所示:

{
  "Gkmo3hhjNaZJ8yzjHcLKAyA3Op12" : {
    "allatid1041301e703d1" : {
      "AllatFaj" : "macska",
      "AllatFajta" : "Egyiptomi",
      "AllatNem" : "szuka",
      "AllatNev" : "Zolika",
      "AllatSzin" : "Fekete",
      "AllatSzul" : "2020-4-18"
    },
    "allatid53ba6d927a183" : {
      "AllatFaj" : "kutya",
      "AllatFajta" : "Border Collie",
      "AllatNem" : "kan",
      "AllatNev" : "Grafit",
      "AllatSzin" : "Kék",
      "AllatSzul" : "2016-4-18"
    }
  }
}

【问题讨论】:

  • 您使用哪个库/SDK 来访问 Firebase?
  • 我使用“yarn add firebase”,然后像“import { getDatabase, ref, set } from 'firebase/database';”一样导入它

标签: javascript reactjs firebase react-native firebase-realtime-database


【解决方案1】:

由于您使用的是 v8 语法,因此此代码无法运行:

const query = user_ref.child("AllatNev")

由于您使用的是 SDK 版本 9 或更高版本,您还应该使用该版本的语法来获取子节点:

const query = child(user_ref, "AllatNev")

在处理此类代码时,我总是将list of v9 database functions 放在手边,因为这是查找此类语法问题的最快方法。

【讨论】:

  • 感谢这个文档,真的很有用!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-10
  • 1970-01-01
  • 2019-05-20
  • 2021-07-18
  • 1970-01-01
  • 2021-02-12
相关资源
最近更新 更多