单击按钮时,不会更新先前的状态

When button is clicked, previous state is not updated

我有这个 React Class component,但我无法让按钮文本从 on 更改为 off

import React from 'react';
import ReactDOM from 'react-dom';

class Toggle extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      on: true
    }
  }

  handleClick = () => {
    // todo
    this.setState((prevState) => {
      on: !prevState.on
    })
  }

  render() {
    const {
      on
    } = this.state;
    return ( <
      button onClick = {this.handleClick} >
      {
        on ? "On" : "Off"
      } < /button>
    );
  }
}

ReactDOM.render( <
  Toggle / > ,
  document.getElementById('root')
);

我想每次单击按钮时它都会看到以前的状态并且会更新。

您只是漏掉了一些括号。如果你想隐式return一个对象,你必须把它们。

  handleClick = () => {
    this.setState(prevState => ({
      on: !prevState.on
    }));
  };

检查结果here