如何在reactJS映射函数中添加条件语句
我试图呈现基于JSON键的不同标记,但它不断抛出语法错误。。。 不过,只添加两个条件中的一个就可以了! 我怎样才能把它做好如何在reactJS映射函数中添加条件语句,reactjs,Reactjs,我试图呈现基于JSON键的不同标记,但它不断抛出语法错误。。。 不过,只添加两个条件中的一个就可以了! 我怎样才能把它做好 <ul className="features"> { property.details.features.map((idx, feature) => feature.hasOwnProperty(area) ? <li> <span className="icon-frame"/> <div className="engl
<ul className="features">
{
property.details.features.map((idx, feature) =>
feature.hasOwnProperty(area) ?
<li>
<span className="icon-frame"/>
<div className="english">{feature[area]}m2 </div>
</li> : null
feature.hasOwnProperty(bedRoom) ? <li>
<span className="fa fa-bed"/>
<div className="english">{feature[bedRoom]}</div>
</li> :null
)
}
</ul>
{
property.details.features.map((idx,feature)=>
功能。有自己的物业(区域)?
-
{特征[面积]}m2
:空
特色:拥有自己的房产(卧室)?-
{特色[卧室]}
:空
)
}
问题在于,函数体中有一个箭头函数,但没有大括号,这意味着箭头后面的表达式将是该函数返回的内容。但是一行中有两个表达式(两个三元运算符),因此它不知道返回什么,因此出现语法错误。您可以尝试以下方法:
<ul className="features">
{
property.details.features.map((idx, feature) =>
feature.hasOwnProperty(area) ?
(
<li>
<span className="icon-frame"/>
<div className="english">{feature[area]}m2 </div>
</li>
)
: feature.hasOwnProperty(bedRoom) ?
(
<li>
<span className="fa fa-bed"/>
<div className="english">{feature[bedRoom]}</div>
</li>
)
: null
)
}
</ul>
{
property.details.features.map((idx,feature)=>
功能。有自己的物业(区域)?
(
-
{特征[面积]}m2
)
:功能。有自己的物业(卧室)?
(
-
{特色[卧室]}
)
:null
)
}
因此,如果特征具有属性区域,则渲染第一个,否则,如果特征具有属性bedrom,则渲染第二个,否则,返回null。我试图使它尽可能可读,但使用长三元运算符从来都不容易。
您可以始终只包装箭头函数的主体,并使用if
、else
和return
语句来执行它