道具和三元运营商

时间:2017-02-23 16:55:50

标签: javascript reactjs ecmascript-6

我有一个简单的列表,如果字符串长于0,我想显示或隐藏某些文本,但我总是得到相同的输出(“C”),即使在更新后它也不会改变

    <li>{props.sen}{props.sen.length > 0 ? "" : "C"}</li>
    <li>{props.sax}{props.sax.length > 0 ? "" : "C"}</li>
    <li>{props.sac}{props.sac.length > 0 ? "" : "C"}</li>

sensaxsac的初始状态为"",但即使更新后状态更新为“值”,C仍然存在。< / p>

2 个答案:

答案 0 :(得分:1)

我想你忘了括号,试试这个:

 <li>{props.sen}{(props.sen.length > 0 ? "" : "C")}</li>
 <li>{props.sax}{(props.sax.length > 0 ? "" : "C")}</li>
 <li>{props.sac}{(props.sac.length > 0 ? "" : "C")}</li>

答案 1 :(得分:0)

解决方案正在删除“&gt;”并添加“==”而不是它。这是正确的代码

 <li>{props.sen}{(props.sen.length == 0 ? "" : "C")}</li>
 <li>{props.sax}{(props.sax.length == 0 ? "" : "C")}</li>
 <li>{props.sac}{(props.sac.length == 0 ? "" : "C")}</li>