我有一個狀態組件,點擊它後會更改div背景色。我保持一個布爾標誌狀態,當它改變時,組件重新計算它的顏色並重新渲染它自己。如何將顏色置於React狀態?
如何擺脫這個布爾標誌,我想保持顏色本身處於狀態,當顏色狀態發生變化時,組件將自行重新渲染。
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