Javascript ReactJS中的复选框问题

Javascript ReactJS中的复选框问题,javascript,reactjs,checkbox,Javascript,Reactjs,Checkbox,我真的被这段代码中发生的事情难住了。我正在尝试在ReactJS中设置一个复选框。该框不会选中/取消选中onClick,但会将您的选择保存为true/false 非常感谢您的帮助,如有必要,我可以详细说明 屏幕截图-该复选框从未被选中,即使您单击它并且该值已从false更改为true 导出默认类checkboxEdit扩展组件{//示例更改 建造师(道具){ 超级(道具); this.onChangeHandler=this.onChangeHandler.bind(this); this.o

我真的被这段代码中发生的事情难住了。我正在尝试在ReactJS中设置一个复选框。该框不会选中/取消选中onClick,但会将您的选择保存为true/false

非常感谢您的帮助,如有必要,我可以详细说明

屏幕截图-该复选框从未被选中,即使您单击它并且该值已从false更改为true

导出默认类checkboxEdit扩展组件{//示例更改
建造师(道具){
超级(道具);
this.onChangeHandler=this.onChangeHandler.bind(this);
this.onBlur=this.onBlur.bind(this);
}
onChangeHandler(事件){
event.preventDefault()
这个。道具。改变({
目标:{
值:event.target.checked
}
});
if(this.props.onClick&&Object.prototype.toString.call(this.props.onClick)=='[Object Function]'){
试一试{
this.props.onClick(事件);
}捕捉(错误){
console.log('抑制错误',err);
}
}
}
onBlur(事件){
if(this.props.onBlur&&Object.prototype.toString.call(this.props.onBlur)=='[Object Function]'){
此.props.onBlur(事件);
}
if(this.props.onBlurChange&&Object.prototype.toString.call(this.props.onBlurChange)=='[Object Function]'){
this.props.onBlurChange(事件);
}
}
render(){
返回(

{this.props.checkboxText} {this.props.descriptiveText}

); }
}
如文档所示,选中的
属性应该是布尔值而不是字符串。所以你可以试试:

checked={this.props.value}
另外,我不确定
属性的存在是否导致您的问题。您可以尝试删除它

编辑


在处理程序中调用
event.preventDefault
,显然会使react更新无法正常工作。有关有效解决方案,请参阅

我编辑了我的答案后,张贴与此编辑。现在行了吗?我用你的建议替换了之前的检查行。我还试图删除value属性,但这两种方式都没有影响它。现在,在第一次单击复选框时,“True”的值被保存。第二次单击会使该框显示为选中状态。我以为这两件事是同时发生的,但它们似乎是以某种方式分开的——你还有什么进一步的建议吗?非常感谢。这很有效——非常感谢你,我从来没有想到这会是个问题^^