2015-11-12 15 views

risposta

6

È possibile utilizzare una classe CSS per questo e modificare dinamicmente il nome classe. Per esempio:

<i className={this.state.showButton ? "fa fa-trash" : "fa fa-trash hidden"} />

8

È possibile utilizzare i CSS per questo.

<i className="fa fa-trash" style={{visibility: this.state.showButton ? 'visible' : 'hidden' }} /> 

Per saperne di più su inline styles in React

+0

non funziona a causa di errore di ortografia di "visibilità" e 2 ° è l'errore niente, è necessario aggiungere spazio dopo style = {{visibility: this.state.showButton? 'visible': 'hidden'}} – Shiladitya

3

Questo è un CSS-attributo in modo da poter utilizzare in linea stili:

... 
var visibilityState = this.state.showButton ? "visible" : "hidden"; 
return (
    <i className="fa fa-trash" style={{visibility: visibilityState}}/> 
); 
... 
0

Mentre la risposta accettata funziona perfettamente, voglio parlare del classnames NPM package come un modo alternativo di implementarlo in un modo più DRY-friendly. Con questo pacchetto, non c'è bisogno di copiare le altre classi, statiche tra due stringhe:

<i className={classNames("fa", "fa-trash", {"hidden": !this.state.showButton})} /> 
Problemi correlati