我在要在Change上发布开关布尔值的地方遇到错误。我正在使用React / Typescript ...我想在这里做的是在handleChange()函数中发送布尔值的后请求,我该怎么做?

我遇到的当前错误是Type 'void' is not assignable to type '((event: ChangeEvent<HTMLInputElement>, checked: boolean) => void) | undefined'

interface IState {
  application?: Map<{}, {}>;
  hasChanged?: boolean;
  checkedA?: boolean;
}



 <div className={classes.switchContainer}>
                <FormGroup row>
                    <FormControlLabel
                      control={
                        <Switch
                          checked={this.state.checkedA}
                          onChange={this.handleChange()}
                          value="checkedA"
                        >Toggle</Switch>
                        }label="YES"
                        />
                  <Typography color="secondary" variant="body1" className={classes.toggleQuestions}>Is the Mentor information complete?</Typography>
                </FormGroup>
              </div>

 @autobind
  private handleChange() {
    console.log("checkedA")
  }

最佳答案

尝试使用onChange = {this.handleChange}
您的方式是,调用句柄更改并将其返回值(“ void”)设置为更改处理程序。在某些情况下,这可能是适当的,但不适用于您。

09-16 14:57