为什么本例中的if会导致我的react组件无法编译。
那么如何在地图功能中添加if?
{this.props.medication.map((object, i) => (
if(object.med_type){
<div>
<div className="col-sm-6 col-md-6">{object.item.description}</div>
<div className="col-sm-6 col-md-6">{(object.med_assigneddate !== '' && object.med_assigneddate !== null) ? object.med_assigneddate : 'N/A'}</div>
</div>
}
))}
答案 0 :(得分:2)
箭头函数可以在=>
符号的右侧:
return
)如果你想要一个带有自己的块的if语句,你需要将函数体写为一个块并显式包含return语句。
(object, i) => {
if (object.med_type) {
return (
<div>
<div className="col-sm-6 col-md-6">{object.item.description}</div>
<div className="col-sm-6 col-md-6">{(object.med_assigneddate !== '' && object.med_assigneddate !== null) ? object.med_assigneddate : 'N/A'}</div>
</div>
);
}
}
答案 1 :(得分:0)
首先可以更好filter
,然后使用map
。您必须return
来自map
范围的内容。样本:
{this.props.medication.filter(object => (object.med_type)).map((object, i) => (
return (
<div>
<div className="col-sm-6 col-md-6">{object.item.description}</div>
<div className="col-sm-6 col-md-6">{(object.med_assigneddate !== '' && object.med_assigneddate !== null) ? object.med_assigneddate : 'N/A'}</div>
</div>);
))}