0

我有这个React Class component我无法将按钮文本从更改onoff

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')
);

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

4

1 回答 1

1

你只是缺少一些括号。如果你想隐式返回一个对象,你必须把它们。

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

在这里检查结果

于 2020-05-05T22:33:07.110 回答