分类
受控组件
- 值存储在state中,只能通过setState来修改
- 常见受控组件:Input、Testarea、Select
- 适合复杂交互
- 好处:组件可马上回应输入内容的改变,如validation
非受控组件
- 存在外部实现,React无法完全控制
- 如:上传文件
- 好处:代码简单
this.state = {
name: ""
};
-->
<input type="text" value={this.state.name} onChange={this.handleNameChange}>
-->
handleNameChange = (event) => {
this.setState({
name: event.target.value
})
}
| Element | New value in callback |
|---|
| input type="text" | event.tartget.value |
| input type="checkbox" | event.tartget.checked |
| input type="radio" | event.tartget.checked |
| textarea | event.tartget.value |
| selct | event.tartget.value |