📜  React受控Vs不受控制的组件

📅  最后修改于: 2020-12-19 08:32:35             🧑  作者: Mango

反应受控VS。不受控制的组件

受控组件

受控组件绑定到一个值,并且其更改将通过使用基于事件的回调在代码中处理。在这里,输入表单元素是由react本身而不是DOM处理的。在这种情况下,可变状态保留在state属性中,并且仅使用setState()方法进行更新。

受控组件具有控制在每次onChange事件发生时传递给它们的数据的功能。然后,将这些数据保存到状态并使用setState()方法进行更新。它使组件可以更好地控制表单元素和数据。

不受控制的组件

它类似于传统的HTML表单输入。在此,表单数据由DOM本身处理。它保持自己的状态,并在输入值更改时进行更新。要编写不受控制的组件,不需要为每个状态更新编写事件处理程序,并且可以使用ref从DOM访问表单的值。

受控组件和非受控组件之间的差异表

SN Controlled Uncontrolled
1. It does not maintain its internal state. It maintains its internal states.
2. Here, data is controlled by the parent component. Here, data is controlled by the DOM itself.
3. It accepts its current value as a prop. It uses a ref for their current values.
4. It allows validation control. It does not allow validation control.
5. It has better control over the form elements and data. It has limited control over the form elements and data.