【问题标题】:How do I retrieve a field value from Firebase using React?如何使用 React 从 Firebase 检索字段值?
【发布时间】:2019-06-17 14:25:37
【问题描述】:

我正在尝试学习 Firebase。我在 Firebase 中制作了一个非常简单的 ReactApp 和一个非常简单的数据库。对于如何访问字段的值,我感到非常困惑。我确信这是一个非常简单的问题,但不知何故,我错过了如何找到解决方案。

我的数据库如下所示: https://imgur.com/a/3LczlwI

我真的很想知道如何访问“速度”字段值。

我试过了

const db = firebase.database.ref();
const speedRef = 
db.child('react').child('mySpeed').once('value').then(snap =>{
  if (snap.val()){
    this.setState({ speed: snap.val().speed });
  } else {
    console.log('error');
  }
})

随着

const speedRef = firebase.database().ref().child('mySpeed').child('speed');
speedRef.on('value', snap => {
  this.setState({ speed: snap.val() });
})

无济于事。我真的希望有人能帮助我理解这一点。提前谢谢你。

【问题讨论】:

  • 根据您的屏幕截图,您可能使用的是 Firebase Cloud Firestore,而不是 Firebase 实时数据库。您打算使用实时数据库还是 Cloud Firestore?如果您使用的是 Firestore,您的问题中的实时数据库代码将根本无法工作。
  • @AlexanderStaroselsky 这很可能是我的问题,因为当您从控制台单击“数据库”时,我不知道它默认设置为 Firestore。谢谢。

标签: javascript reactjs firebase firebase-realtime-database google-cloud-firestore


【解决方案1】:

*尝试使用这个:*

const react = firebase.database().ref("react");
react.child("mySpeed").child("speed").once("value").then(data => {
  if(data.val() !== null){
     console.log(data.val());
  }
});

【讨论】:

  • @Alex Good :) 不要忘记查看有用的答案。
  • 所以实际原因是因为我没有使用实时数据库,我使用的是 Firestore。我确定您的代码可能已经运行,但我直接按照 Firebase 人员的教程进行操作,并且能够启动并运行我的代码。感谢您的帮助!
  • @Alex 你欢迎兄弟^_^
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多