3 回答

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以檢查player
:
{player?&&?<p?className={player.weight?>=?opponent.weight???"text-green?border-green"?:?"text-danger?border-danger"}>{player.weight}</p>}
此語(yǔ)法variable && something
相當(dāng)于if(variable){ something }
因此,如果?variable
?是一個(gè)?falsy
?值,例如?null
、undefined
、< /span>不執(zhí)行。0
,則something
它非常適合 React 中的條件渲染語(yǔ)法

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
你可以使用這樣的東西
<div style={{ display: myVar ? 'block' : 'none' }}>
<p>your data ...</p>
</div>

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
在 React 中,有一個(gè) render 方法,如果你不希望它渲染,你可以返回 null。
例如
render() {
const { player } = this.props;
if (!player) return null;
return (
<p className={
player.weight >= opponent.weight ?
"text-green border-green" : "text-danger border-danger"}>
{player.weight}
</p>
)
}
或者你可以做第一個(gè)海報(bào)所做的事情
{player && <p className={player.weight >= opponent.weight ? "text-green border-green" : "text-danger border-danger"}>{player.weight}</p>}
如果 player 為假(null、false、未定義),則 && 后面的部分將被刪除。條件不會(huì)執(zhí)行,因?yàn)榈谝徊糠忠呀?jīng)是假的。
一個(gè)&& b - 此處如果 a 不是 b 將不會(huì)執(zhí)行,因?yàn)閮烧叨冀o出相同的 false 響應(yīng)。在下面的情況下,如果 a = false,那么 B 是什么并不重要,因?yàn)楸磉_(dá)式始終為 false。因此,react不會(huì)執(zhí)行html部分(相當(dāng)于b)
false && true
false && false
- 3 回答
- 0 關(guān)注
- 202 瀏覽
添加回答
舉報(bào)