Javascript 如果在地图箭头函数中
为什么本例中的if会导致我的react组件不编译 那么,如何在map函数中输入这样的if呢Javascript 如果在地图箭头函数中,javascript,reactjs,Javascript,Reactjs,为什么本例中的if会导致我的react组件不编译 那么,如何在map函数中输入这样的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
{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>
}
))}
{this.props.medicing.map((object,i)=>(
if(object.med_类型){
{object.item.description}
{(object.med_assigneddate!=''&&object.med_assigneddate!==null)?object.med_assigneddate:'N/A'}
}
))}
最好先过滤然后使用映射。您必须从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>);
))}
{this.props.medicing.filter(object=>(object.med_type)).map((object,i)=>(
返回(
{object.item.description}
{(object.med_assigneddate!=''&&object.med_assigneddate!==null)?object.med_assigneddate:'N/A'}
);
))}
箭头函数在=>
符号的右侧可以有:
- 街区
- 一个语句(它前面有一个隐式的
返回值
)
如果希望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>
);
}
}
(对象,i)=>{
if(object.med_类型){
返回(
{object.item.description}
{(object.med_assigneddate!=''&&object.med_assigneddate!==null)?object.med_assigneddate:'N/A'}
);
}
}
因为object.med\u type
是falsy?您可能希望实际返回该表达式,而不是什么都不做。请尝试object&&object.med\u type&&