私はそれをクリックした後にdivの背景色を変更するステートフルなコンポーネントを持っています。私は状態でブール値のフラグを保持し、それが変化すると、コンポーネントはその色を再計算し、自身を再レンダリングします。色をどのようにして反応状態にするか?
このブール値フラグを削除するにはどうすればいいですか、色自体を状態に保ちたいのですが、色が変化した状態でコンポーネントが再レンダリングされます。
class App extends React.Component {
constructor(props) {
super(props);
this.state = { flag: true };
}
changeColor(){this.setState({flag: !this.state.flag})};
render(){
var bgColor = 'rgb(' + (Math.floor(Math.random() * 256)) + ',' + (Math.floor(Math.random() * 256)) + ',' + (Math.floor(Math.random() * 256)) + ')';
return (<div style={{backgroundColor: bgColor}} onClick={this.changeColor.bind(this)}>wonderful</div>);
}
}
ReactDOM.render(<App />, document.getElementById('root'));
ので、状態の文字列を格納します。あなたは何を理解していますか? – SLaks