Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果在地图箭头函数中_Javascript_Reactjs - Fatal编程技术网

Javascript 如果在地图箭头函数中

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

为什么本例中的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 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&&