在筛选器和映射中使用模板文字字符串的Jsx连接

时间:2017-09-10 14:52:53

标签: javascript reactjs jsx

如何更正以下代码?

<p>
{ads.filter(obj => obj._id === this.state.selectedAd_Id)
.map(obj =>obj.expiry_date
&& 
`You have to complete this task in${fromNow(moment(obj.expiry_date))}` )}
</p>

这是有效的

<p>
{ads.filter(obj => obj._id === this.state.selectedAd_Id)
.map(obj => obj.expiry_date
&& fromNow(moment(obj.expiry_date)) )}
</p>

但是,如果You have to complete this task in不是obj.expiry_date,我该如何结识null

2 个答案:

答案 0 :(得分:0)

obj.expiry_date || ''可能会完成这项工作

您还可以使用conditional (ternary) operator obj.expiry_date ? obj.expiry_date : ''

答案 1 :(得分:0)

您可以返回三元组并使用es6进行模板文字字符串插值。

ads.filter(obj => obj._id === this.state.selectedAd_Id)
   .map(obj => obj.expiry_date ? `You have to complete this task in ${fromNow(moment(obj.expiry_date))}` : false)