我已经写的CoffeeScript/CJSX,这是有效的语法:如果...那么JSX为Javascript
<div>
<input type={if @state.name == "Test" then "checkbox"}/>
</div>
我如何做同样普通的JavaScript?没有if...then
条款,我不认为我可以像在咖啡中那样在线检查if
检查吗?
我已经写的CoffeeScript/CJSX,这是有效的语法:如果...那么JSX为Javascript
<div>
<input type={if @state.name == "Test" then "checkbox"}/>
</div>
我如何做同样普通的JavaScript?没有if...then
条款,我不认为我可以像在咖啡中那样在线检查if
检查吗?
从How to write an inline IF statement in JavaScript?
以答案您可以使用语法10 < 11 ? do this : do that
其中?
是then
和:
是else
。
您还可以使用逻辑运算符:
<input type={(state.name == "Test" && "checkbox") || "text"}>
当然,你_can_做到这一点,但为什么你会吗?这与'?:'的行为也有细微的差别,如果你不小心,可能会导致潜伏的错误。 – JLRishe
这是真的。我主要用它来渲染JSX中的元素。即'{state.isValid &&
有效!
}'。但我认为在这种情况下你是对的,三元论是正确的。 – inostia