2016-04-07 8 views
4

Ich habe Beispiel:Leere Klassenname

var myClass = ''; 
if (this.state.foo) myClass = 'active'; 
return (
    <div className={myClass}></div> 
) 

oder in return:

return (
    <div className={this.state.foo ? 'active' : '' }></div> 
) 

Wenn this.state.foofalse in Browser ist mein Code aussehen:

<div class></div> 

ist möglich, es nicht tun add class Attribut, wenn es leer ist?

+0

Wenn Sie die Tag-Beschreibung lesen, werden Sie beachten, dass [tag: jsx] ist nicht der richtige Tag. –

Antwort

3

könnten Sie wahrscheinlich

var props = {}; 
if (this.state.foo) { 
    props.myClass = 'active'; 
} 
return (
    <div {...props}></div> 
); 

tun Obwohl nichts falsch mit einem leeren class Attribut gibt.

+0

Danke! Es ist nicht falsch, nur um meine Fähigkeiten in JSX zu verbessern – Fijir

1

Sie können null anstelle des leeren String zurück:

return (
    <div className={this.state.foo ? 'active' : null }></div> 
)