2017-04-18 34 views
1

有一個包叫classNames。我試圖用它來隱藏顯示,當用戶切換選項卡時,我可以像這樣傳遞表達式,而不是使用檢查真或假的標誌嗎?if else使用classNames的條件

<div className={classNames("tab", {(this.state.selectedTab === 2), "hide"})}> 
//content 
</div> 

但上面的代碼不起作用。

+0

試試這個:'className = {classNames(「tab」,{「hide」:this.state.selectedTab === 2})}' –

+0

是的,但條件是最後一件事。是一個對象,其中鍵是類,值是每個類的條件。所以應該是這樣的:'classNames(「tab」,{「hide」:this.state.selectedTab === 2})' – aabilio

+0

這是很多開銷代碼來完成className = {this.state.selectedTab == = 2? 「標籤隱藏」:「標籤」} –

回答

1

我認爲,你可以使用它像這樣:

className={classNames("tab", {"hide": this.state.selectedTab === 2})} 

原因是,key將是class的名稱和地點的價值,你可以使用任何條件將返回true or false,如果條件將是true然後隱藏將被應用,否則它將被忽略。