https://www.jianshu.com/p/04dfbf76d37f // 文献参考
受控组件
1,所谓受控组件,即收到React对象控制的组件。通过React 所提供的事件,数据状态,去完成赋值、取值等操作,所谓双向数据绑定。使用setState() 操作数据,驱使视图层完成更新。
内部维护了自己的状态机。
非受控组件
2,非受控组件,由dom控制,通过rel 这种快捷方式获取引用,完成取值,没有赋值与取值的过程,完全是dom控制。无法使用React 对象生命周期等方法进行操作。
区别
1,受控组件,可以在整个react生命周期中操作、渲染、取值等。
2,非受控组件不方便操作,通常在第一次初始化的时候可以设置状态。
3,ref 和 setState
在React的生命周期中,需要随时被修改数据的组件,这是可以选择受控组件,如果在整个什么周期不需要多次操作,可以选择非受控组件。