首页 > 解决方案 > 使用 map() 从 firebase 渲染对象的内容

问题描述

好的,我有网格 div,我在其中显示了 firebase 分支的内容,现在它是这样的:

火力基地快照:


database.ref('orders').on('value', snapshot => 
           {
               let orderList = [];
               snapshot.forEach(snap => {

                orderList.push(snap.val());

               });

               this.setState({ orderList: orderList });
           });


{this.state.orderList.map(orderData => {

    console.log(typeof orderData.order);
    
    var order = orderData.order;
    var adress = orderData.finalFormValues;
    return(
        <>
        <h3>Cliente: {orderData.displayName}</h3>    
        Horário do pedido: {orderData.horaLocal}<br />
        {Object.values(order).map(ordersData => {

            return(<>Sabores: {ordersData.name}<br /></>);

        })}

        {Object.entries(adress).map(adressData => {

        return(<>{adressData}<br /></>);

        })}
        </>
    );
})}

它正在工作,但不适合项目:

我可以用 map() 显示订单值,但不能用地址显示。以下代码不呈现任何内容:

{Object.values(adress).map(adressData => {

    return(<>Rua: {adressData.rua}<br /></>);

})}

它什么也不渲染。

我的数据库的图片:

数据库

标签: javascriptfirebaseobjectfirebase-realtime-databasearray-map

解决方案


推荐阅读