This question already has answers here:
React.js inline style best practices

(20 个回答)


3年前关闭。




我是 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 应用内联样式?如果是,则想法是评估状态并通过条件语句在另一种颜色上设置一种颜色。

最佳答案

将您的内联样式声明为一个对象:

<button style={{ background: 'yellow' }} onClick={this.handleClick}>
  {this.state.isHelpOn ? 'HELP ON' : 'HELP OFF'}
</button>

关于javascript - ReactJS 中的内联样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45333877/

10-11 23:32