能够控制表单中输入元素的组件被称为受控组件,非受控组件是在内部存储其自身状态的组件,当需要时,可以使用 ref 查询 DOM 并查找其当前值
(表单元素带value的为受控组件,不带value的为非受控组件)
受控组件:
<input type="text" value="Hello!" />
使用setState来更新数据
非受控组件
<input type="text" />
表单数据由 DOM 元素本身处理
-
受控元素,一般用在需要动态设置其初始值的情况;例如某些form表单信息编辑时,input表单元素需要初始显示服务器返回的某个值然后进行编辑。
-
非受控元素, 一般用于无任何动态初始值信息的情况; 例如form表单创建信息时,input表单元素都没有初始值,需要用户输入的情况
注:尽量使用受控组件