Javascript 类型Void不能分配给类型Boolean(React/Typescript)

Javascript 类型Void不能分配给类型Boolean(React/Typescript),javascript,reactjs,typescript,ecmascript-2016,Javascript,Reactjs,Typescript,Ecmascript 2016,我遇到一个错误,我想在更改时发布一个开关布尔值。我正在使用React/Typescript。。。我想在这里做的是在handleChange()函数中发送一个布尔值的post请求,我该怎么做 我得到的当前错误是类型'void'不可分配给类型'((事件:ChangeEvent,选中:boolean)=>void)|未定义' interface IState { application?: Map<{}, {}>; hasChanged?: boolean; checkedA?

我遇到一个错误,我想在更改时发布一个开关布尔值。我正在使用React/Typescript。。。我想在这里做的是在handleChange()函数中发送一个布尔值的post请求,我该怎么做

我得到的当前错误是
类型'void'不可分配给类型'((事件:ChangeEvent,选中:boolean)=>void)|未定义'

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")
  }
interface-IState{
应用:地图;
hasChanged?:布尔值;
checkedA?:布尔;
}
导师信息是否完整?
@自动绑定
私人手牌更改(){
console.log(“checkedA”)
}

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

请尝试onChange={this.handleChange}
按照您的方式,您调用handlechange并将其返回值(“void”)设置为变更处理程序。在某些情况下,这可能是合适的,但在你的情况下就不合适了。

我明白了,这很有道理。那么我该怎么做:获取开关输入状态的值,然后发送post请求?这在文档中有详细描述。。。。handleChange(event){console.log(event.target.value);}是的,我使用的是typescript,所以它与文档有点不同。但是谢谢,我会用这个作为参考。明白了,这很有道理。那么我该怎么做:获取开关输入状态的值,然后发送post请求?这在文档中有详细描述。。。。handleChange(event){console.log(event.target.value);}是的,我使用的是typescript,所以它与文档有点不同。但是谢谢,我会把它作为参考。只是一个小的旁注,没有必要使用自动绑定注释(除非它是有角度的…)。为了正确地绑定
这个
,您可以如下定义您的方法
private readonly handleChange=()=>{/*do something*/}
将自动绑定lambda主体中的
。只是一个次要的旁注,不需要使用自动绑定注释(除非它是有角度的…)。为了正确地绑定
这个
,您可以如下定义您的方法
private readonly handleChange=()=>{/*do something*/}
将自动在lambda的主体中绑定此。