【发布时间】:2018-12-29 19:11:13
【问题描述】:
我正在尝试使用 reactJS 创建一个简单的复选框,并尝试使用 handlecheck() 绑定复选框的状态
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
<title>Getting Started with React</title>
</head>
<body>
<div id='react-container'></div>
<script type="text/babel">
class Checkbox extends React.Component{
constructor(props){
super(props)
this.state = {
checked: false
}
this.handleCheck = this.handleCheck.bind(this)
}
handleCheck(){
this.setState ({
checked: true
})
}
render(){
return(
<div>
<input type = "checkbox"/>
</div>
)
}
}
ReactDOM.render(
<Checkbox />,
document.getElementById("react-container")
)
</script>
</body>
</html>
但是,即使我正在使用这里
handleCheck(){
this.setState ({
checked: true
})
}
我仍然可以多次选中和取消选中该框,但实际上,它不应该,因为它必须检查一次并且应该停止。 我知道在实际场景中应该是这样的:
handleCheck(){
this.setState ({
checked: !this.state.checked
})
}
有人可以告诉我为什么即使我做错了,我也可以多次选中和取消选中?
【问题讨论】:
标签: javascript reactjs react-native checkbox