无效类型不能分配给布尔类型(反应/打字稿)

时间:2019-01-13 04:17:45

标签: javascript reactjs typescript ecmascript-7

我遇到一个错误,我想在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")
  }

1 个答案:

答案 0 :(得分:2)

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