2017-03-29 11 views
-1

classNameに動的なclassNameを動的に設定するにはどうすればよいですか?例えば、この中で:私は<button className="cheese {this.state.color}">をすれば https://jsfiddle.net/uwadhwnr/112/ReactJS:1つのclassNameにバインディングを指定し、もう1つにclassNameを指定しないでください

<button className={this.state.color}>、それは引用符で囲んだからthis.state.colorは表示されませんが、私は両方のクラスを持っていると思います。

+0

[連結する変数の可能性のある重複したようにそれを行うことができますそしてReactの文字列](http://stackoverflow.com/questions/39523040/concatenating-variables-and-strings-in-react) – Li357

答えて

1

あなたはクラス名に「チーズ」などの状態色を追加する必要がある場合、あなたは

<button className={"cheese " + this.state.color}> 

の作業コード

var Hello = React.createClass({ 
    getInitialState: function(){ 
     return { 
      color: 'blue' 
     }; 
    }, 
    handleClick: function(){ 
     if (this.state.color === 'blue'){ 
      this.setState({color: 'green'}); 
     } else { 
      this.setState({color: 'blue'}); 
     } 
    }, 
    render: function() { 
     return <button className={"cheese " + this.state.color} onClick={this.handleClick}>My background is: {this.state.color}, Click me to change</button>; 
    } 
}); 

React.render(<Hello name="World" />, document.getElementById('container')); 

JSFIDDLE

関連する問題