在函数中用 React 包裹三元表达式

问题描述 投票:0回答:2

在 React 中,我经常只想在条件为真时才渲染某些东西。我曾经这样做过,效果很好:

return {condition?value:null}

实际的返回表达式要复杂得多,所以简单的

if
语句是行不通的。但后来我觉得
null
部分很难看,所以我尝试将它包装在一个函数中:

return {addIf(condition, value)}

问题是,有时

value
使用什么条件检查是否可访问。例如,
condition
会像
player.hasOwnProperty(x)
value
会像
player.x
。这会产生错误。

我认为这是因为价值总是在后者中评估。我怎样才能做到这一点?使用带有

null
的三元表达式是唯一的方法吗?

(我觉得我真正需要的是 Lisp 宏,但希望有更简单的解决方法。)

reactjs conditional-operator
2个回答
1
投票

我认为您可以使用逻辑运算符

&&
。您的解决方案将如下所示:

return condition && value;

0
投票

它会起作用

返回 {condition?value:null}

实际的返回表达式要复杂得多,所以一个简单的 if 语句是行不通的。但后来我觉得 null 部分很难看,所以我尝试将它包装在一个函数中:

return {addIf(condition, value)}

© www.soinside.com 2019 - 2024. All rights reserved.