react 中 受控组件与非受控组件的区别

本文介绍了React中的两种输入组件管理方式:受控组件和非受控组件。受控组件通过状态来管理输入值,变化时需通过setState更新,而非受控组件则直接从DOM获取当前值,使用ref进行获取。尽管非受控组件使用方便,但建议尽量使用受控组件,以避免过多使用ref。理解并合理运用这两种组件管理方式对于优化React应用至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

非受控组件:页面中的输入类的dom,现用现取就是非受控组件。

注意:输入类的dom,如input checkbox,radio等

现用现取:需要使用的时候直接获取节点使用。

案例:

以上获取用户名与密码的值,就是提交表单是用ref获取节点直接获取

受控组件:页面中的输入类的dom 随着输入将内容维护到状态里面去,用的时候到状态里面取。

注:可变状态通常保存在组件的状态属性中,并且只能使用 setState() 更新,而呈现表单的React组件也控制着在后续用户输入时该表单中发生的情况,以这种由React控制的输入表单元素而改变其值的方式,称为:“受控组件”。

注意:建议使用受控组件,因为不用ref,而非受控组件用几个就需要设置几个ref,react中说过请勿过多使用ref

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值