我是ReactJS的新手。我想尝试在单击按钮时同时更改按钮的文本和颜色。这段代码可以实现:
class ToggleHelp extends React.Component {
constructor(props) {
super(props);
this.state = {isHelpOn: true};
// This binding is necessary to make `this` work in the callback
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
this.setState(prevState => ({
isHelpOn: !prevState.isHelpOn
}));
}
render() {
return (
<button onClick={this.handleClick}>
{this.state.isHelpOn ? 'HELP ON' : 'HELP OFF'}
</button>
);
}
}
ReactDOM.render(
<ToggleHelp />,
document.getElementById('root')
);
但是,当我尝试应用以下内联样式时,代码停止工作。
<button style={background:yellow} onClick={this.handleClick}>
{this.state.isHelpOn ? 'HELP ON' : 'HELP OFF'}
</button>
我试过几次,用各种不同的方法。目前,我希望它是一个内联样式。在React中直接应用内联样式是否可能?如果是的话,想法是通过条件语句评估状态并在另一个颜色上设置一种颜色。