未捕获的TypeError:无法读取未定义的属性“名称” [antdesign-开关]

时间:2019-10-30 06:36:26

标签: javascript reactjs antd

我想将该事件用作antd开关中的回调。 我不知道如何使用事件获取[4,5.5,1.2, 7,3.4,5.6, 12,4.4,4.5]的值。

this.state.game

2 个答案:

答案 0 :(得分:0)

您不需要将道具value添加到Switch

class App extends Component {
  state = {
    game: false
  };

  handleToggle = (checked, event) => {
    this.setState({
      game: checked
    });
  };

  render() {
    const { game } = this.state;
    console.log("switch status: ", game);
    return (
      <div className="App">
        <Switch
          defaultChecked={false}
          checkedChildren="on"
          unCheckedChildren="off"
          name="game"
          onClick={this.handleToggle}
        />
      </div>
    );
  }
}

这是一个快速演示code sandbox

答案 1 :(得分:0)

Switch onClick签名是:

Function(checked: boolean, event: Event)

应该是:

handleToggle = (_, event) => {
  this.setState({
    [event.target.name]: !this.state[event.target.name]
  });
}

event是第二个参数。