其值由React控制的输入表单元素称为“受控组件”。
受控组件有两个特点:
1.设置value值时,value由state控制。
2.value值一般在onchange事件中通过setState方法进行修改。
什么时候使用受控组件?
需要对组件的value值进行修改时,使用受控组件。比如:页面中有一个按钮,每点击一次按钮受控组件的值加1.
表单数据由 DOM 处理的组件叫做“非受控组件”。
非受控组件有两个特点:
不设置value值,
通过ref获取dom节点然后再取value值
<input type="text" placeholder="请输入姓名" name='username' ref={(input) => this.usernameElem = input}/>
取值方法:this.usernameElem.value
什么时候使用非受控组件?
任何时候都不需要改变组件的value值,这时候可以使用非受控组件。
网友评论