困惑为什么反应组件不从数据渲染

Confused why react component not rendering from data

我想弄清楚为什么我的 React 组件中的某些标记没有呈现。没有错误被抛出。

我正在传递表单的组件数据:

const moduleData = {
    openTickets: {
        title: 'Open Tickets',
        stats: [
            [ //rows
                {
                    stat: 2,
                    desc: 'New',
                },
                {
                    stat: 2,
                    desc: "Unseen for > 24 hours",
                }
            ],
            [
                {
                    stat: 32,
                    desc: 'In Progress'
                },
                {
                    stat: 2,
                    desc: 'In progress for > 1 week',
                }
            ]
        ]
    }
}

...

<DashboardModule data={moduleData.openTickets}/>

DashboardModuleComponent 如下:

import React, {Fragment} from 'react';

function DashboardModule(props) {
    const {data} = props;
    return(
    <div className="dashboard__module">
        <div className="dashboard__module_header">
            <h3 className="dashboard__module_title h2">{data.title}</h3>
        </div>
        {
            data.stats.forEach((statRow,index)=>{
                console.log(statRow,index);
                return (
                    <div className="dashboard__module_row" key={`module_row--${index}`}>
                        {
                            statRow.forEach((stat,statIndex)=>{
                                console.log(stat.stat);
                                return (
                                    <div key={`stat_container--${statIndex}`}className={`dashboard__module_stat_container ${statIndex === 0 && 'primary'}`}>
                                        <p className="dashboard__module_stat">{stat.stat}</p>
                                        <p className="dashboard__module_desc">{stat.desc}</p>
                                    </div>
                                )
                            })
                        }
                    </div>
                )
            })
        }
    </div >
    );
};

export default DashboardModule;

控制台日志给出了正确的数据,但是在:

之后没有标记
<div className="dashboard__module_header">
    <h3 className="dashboard__module_title h2">{data.title}</h3>
</div>

我错过了什么?

我认为你需要使用 data.stats.map() 而不是 foreach()

使用 map 而不是 forEachforEach只是遍历集合,不返回结果