我得到了一个FiRestore集合,其中同时包括2个文档(可能更多). 每个文档都有2个数组(数量和值),如下面的最后一个截图所示.

我希望获得所有数据,并在每次使用文档的数组100中的数据创建行时

Expected result

100

Table

100

Firestore

100

export default class NutritionTableOfTheUser extends Component {
constructor() {
    super();
    this.state = {
        tableData: []
    }
}

componentDidMount() {
    const dbRef = collection(db, 'data');
    onSnapshot(dbRef, (querySnapshot) => {
        let foods = [];
        querySnapshot.forEach(doc => {
            foods.push(doc.data())
        });
        this.setState({ tableData: foods })
    })
}

render() {
    return (
        <div className='container mt-3'>
            {/* table */}
            <table className='table table-hover'>
                <thead>
                    <tr>
                        <th>#</th>
                        <th>Food</th>
                        <th>Quantity</th>
                    </tr>
                </thead>

                <tbody>
                    {this.state.tableData.map((row, index) => {
                        return (
                            <tr>
                                <td>{index + 1}</td>
                                <td>{row.value}</td>
                                <td>{row.quantity}</td>
                            </tr>
                        )
                    })}
                </tbody>
            </table>
        </div>
    )
}

}

推荐答案

试试看

onSnapshot(dbRef, (querySnapshot) => {
        let foods = [];
        querySnapshot.forEach(doc => {
            const {value, quantity} = doc.data()
            for(let i = 0; i < value.length; i++) {
              foods.push({value: value[i], quantity:quantity[i]})
            }
        });
        this.setState({ tableData: foods })
})

Javascript相关问答推荐

单击更新页面的按钮后,页面刷新;测试/断言超时,有两个标题,但没有一个标题

通过在页面上滚动来移动滚动条

使用javascript将Plotly Expandable Sparkline转换为HighCharter Plot在bslib卡中

我可以从React中的出口从主布局调用一个处理程序函数吗?

更改JSON中使用AJAX返回的图像的路径

数字时钟在JavaScript中不动态更新

Regex结果包含额外的match/group,只带一个返回

在JS中拖放:检测文件

使用ThreeJ渲染的形状具有抖动/模糊的边缘

使用Java脚本导入gltf场景并创建边界框

Reaction组件在本应被设置隐藏时仍显示

将对象推送到数组会导致复制

如何使用基于promise (非事件emits 器)的方法来传输数据?

如何访问此数组中的值?

FireBase云函数-函数外部的ENV变量

如何修复错误&语法错误:不能在纯react 项目中JEST引发的模块&之外使用导入语句?

自动滚动功能在当前图像左侧显示上一张图像的一部分

我怎样才能得到一个数组的名字在另一个数组?

try 导入material 时出现错误NG0203

更改输入文本框的背景时出现问题