反应不渲染道具,但可以在console.log中看到

时间:2019-04-23 03:50:17

标签: javascript arrays reactjs object ecmascript-6

在渲染中,我有这个const arr = []

作为回报,我有这个

{
    this.state.rows.map((qc) =>
        qc.BinsByDayByOrchardsQCs.map((qc2) =>
            qc2.BinsByDayByOrchardsQCsDefects.map((qc3) =>
              {!arr.includes(qc3.Defect) && arr.push(qc3.Defect) &&
                (<div className="row table">
                    <div className="column-label bold">{qc3.Defect}</div>
                    {console.log("testing", qc3.Defect)}
                </div>)
              }
            ) 
        )
    )
}

在console.log中,我实际上可以看到4个结果,这是我想要的结果。看起来像这样:

testing Scuff
testing Sunburn
testing Bruise
testing Hail damage

关于为什么页面上没有呈现任何内容的想法?

1 个答案:

答案 0 :(得分:1)

由于花括号{},您需要将其更改为括号()或使用明确的return语句:

qc2.BinsByDayByOrchardsQCsDefects.map((qc3) =>
    {!arr.includes(qc3.Defect) && arr.push(qc3.Defect) &&
        (<div className="row table">
            <div className="column-label bold">{qc3.Defect}</div>
            {console.log("testing", qc3.Defect)}
        </div>)
      )
    )