Est*_*sti 4 javascript css reactjs
我是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')
);
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用如下所示的内联样式时,代码停止工作.
<button style={background:yellow} onClick={this.handleClick}>
{this.state.isHelpOn ? 'HELP ON' : 'HELP OFF'}
</button>
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几次,以各种方式做到这一点.我希望它能成为当下的内联风格.是否可以直接从React应用内联样式?如果是,那么想法是评估状态并通过条件语句在另一种颜色上设置一种颜色.
将内联样式声明为对象:
<button style={{ background: 'yellow' }} onClick={this.handleClick}>
{this.state.isHelpOn ? 'HELP ON' : 'HELP OFF'}
</button>
Run Code Online (Sandbox Code Playgroud)
首先,样式必须作为对象传递。
其次 - css 值必须是字符串。
style={{ background: 'yellow' }}
Run Code Online (Sandbox Code Playgroud)