【问题标题】:Retrieve data from Firebase database using react native使用本机反应从 Firebase 数据库中检索数据
【发布时间】:2017-03-13 00:01:47
【问题描述】:

如何获取字符串形式的数据?

getData() {
  firebase.database().ref('users/USER_UID/username').on('value', snap => snap.val())
}
  console.log(this.getData())

为什么当我这样做时,我会变得不确定? .ref() 是与密钥的直接连接。我只是想得到它的价值。

我不想这样做:

getData() {
  firebase.database().ref('users/USER_UID/username').on('value', snap => console.log(snap.val()))
}
  console.log(this.getData())

【问题讨论】:

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


    【解决方案1】:

    尝试将snap.val() 传递给回调函数:

    getData(cb) {
      firebase.database().ref('users/USER_UID/username').on('value', snap => cb(snap.val()))
    }
    

    然后你可以运行this.getData((val) => console.log(val))而不是console.log(this.getData())

    【讨论】:

    • 我试过了。它只是给我不确定的。有人告诉我这与异步有关。但是,为什么我在控制台记录 getData() 时无法获得该返回?
    • This answer 解释了为什么要打印 undefined,因为您没有从函数返回任何内容。
    • 所以如果我有一个 组件并且我希望该 Text 的值来自我的数据库的引用。从 'usernameList/user/username' 说它,这个 ref () 的值为 'jef' 我该如何设置?背后的想法是使用数据库的引用,而不是在其他节点中复制它。我只想使用一个分布在所有其他节点中的节点
    猜你喜欢
    • 2020-04-16
    • 2017-08-05
    • 2018-07-20
    • 2018-08-25
    • 2020-03-12
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多