database - 在没有数组的情况下在 React 中显示来自 Firebase 的数据

标签 database reactjs firebase firebase-realtime-database

我是 React 和 Firebase 的新手。尽管 Firebase 网站上的说明非常简单,但我在从数据库中获取数据时遇到了一些困难。

我设法使用这段代码在 View 中打印数据:

从数据库中获取数据并将其保存在状态中:

INSTRUMENTS_DB.once('value').then(function(snapshot) {
        this.state.instruments.push(snapshot.val());
        this.setState({
            instruments: this.state.instruments
        });

我从 Firebase 收到包含多个对象的对象,这些对象对应于不同的工具,如以下代码段所示:

Object {
    Object {
        name: "Electric guitar",
        image: "img/guitar.svg"
    }
    Object {
        name: "Bass guitar",
        image: "img/bass.svg"
    }
    // and so on..
}

目前,我通过填充这样的数组来打印数据:

var rows = [];
    for (var obj in this.state.instruments[0]) {
        rows.push(<Instrument name={this.state.instruments[0][obj].name}
                              image={this.state.instruments[0][obj].image}/>);
    }

我觉得有更好的方法,有人可以给个提示吗?谢谢

最佳答案

我经常使用 firebase 而 mu 解决方案很少有 ES6 辅助函数

const toArray = function (firebaseObj) {

return Object.keys(firebaseObj).map((key)=> {
    return Object.assign(firebaseObj[key], {key});
})

};

我还将 firebase key 分配给对象 key 属性,以便稍后我可以使用这些 key 。

关于database - 在没有数组的情况下在 React 中显示来自 Firebase 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40561611/

相关文章:

c# - C# 中的轻量级类到 MySQL 记录映射?

reactjs - Mocha + Webpack + Typescript(React): Error cannot find module (typescript component)

reactjs - 使用 React Native 中 Flatlist 中自定义元素的参数进行导航 : Empty parameters

android - 我应该如何在嵌套代码中返回 "Observable/Flowable/Single" "onError"?

firebase - 我的代码可以确定当前用户帐户的创建日期吗?

javascript - 在 Cloud Functions 中写入 Firestore 时如何将 SetOptions.merge 与 .set() 结合使用

sql - 我可以在 SQL Server 中删除之前检查约束吗?

mysql - 使用 SUM GROUP BY 获取行总数

javascript - 将状态传递给 react-router 1.x

php - 点赞按钮 (PHP/MySQL)