2016-12-12 14 views
5

Próbuję dodać następujący potrójny operator, aby pokazać mój przycisk, jeśli jestem zalogowany i jeśli nie mam tego ukryć. Poniższe informacje wciąż powodują błąd.Ternary operator stylu z React Js Es 6

<img src={this.state.photo} alt="" style="{isLoggedIn ? 'display:' : 'display:none'}" /> 
+1

To jest odpowiednia metoda: style = {isLoggedIn? {display: 'block'}: {display: 'none'}} –

+0

Dodałem już tego samego kumpla odpowiedzi – FurkanO

+0

Doh, tak, właśnie to napisałem, pomiń cytaty. Długi dzień ... – user992731

Odpowiedz

9

To, co należy podać atrybutowi stylu, powinno być obiektem. Ponieważ piszemy kod js w jsx między nawiasy klamrowe, wstawimy tam obiekt.

Pamiętaj, musisz camelCase wszystkie rekwizyty css. (Font-size ==> fontSize)

<img 
    src={this.state.photo} 
    alt="" 
    style={ isLoggedIn ? { display:'block'} : {display : 'none'} } 
/> 

lub

<img 
    src={this.state.photo} 
    alt="" 
    style={ { display: isLoggedIn ? 'block' : 'none' } } 
/> 

wolałbym drugi.

+1

Dzięki @FurkanO, który zrobił trik !! – user992731

-2
style={isLoggedIn ? 'display:block' : 'display:none'} 

Usuń quotemarks - to powinno działać następnie (zakładając isLoggedIn jest logiczną-owski).