受控组件和非受控组件的区别

受控组件:

标签 input、textarea、select的值的改变通常是根据用户输入进行更新,所以受控组件是必须要有value的,value用来传入一个参数,结合onchang来控制这个参数输出。
每当value变化的时候,都会调用onchange的方法,事件处理器拿到新的值之后就会重新渲染视图,更新表单。

备注:其中,文本框、下拉框都用的是event.target.value,而多选框用的是event.target.checked。
value和onchange两者在受控组件中缺一不可,一旦缺少其中一个就会报错

在这里插入图片描述

非受控组件:

非受控组件即不受状态的控制,获取数据就是相当于操作DOM。一般没有value,我们就可以认为这个组件是非受控组件,但是我们可以通过defaultValue来给初始值。onBlur是失去焦点,一旦输入框失去焦点就会触发响应的方法。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34574204/article/details/122102160
今日推荐