受控组件与非受控组件

本文介绍了React中的受控组件和非受控组件。受控组件是表单状态变化时同步更新到state中,通过事件处理器控制状态,确保数据可靠性。非受控组件则不直接管理状态,而是借助ref获取组件值。受控组件遵循单向数据绑定,而非受控组件可能需要额外处理数据获取。
摘要由CSDN通过智能技术生成

受控组件

所谓受控组件就是每当表单的状态发生变化时,都会被写入到组件的state中,这种组件就被称为受控组件。

在受控组件中,组件渲染出的状态与它的valuechecked prop相对应。React通过这种方式消除了组件的局部状态。

更新state的流程

  1. 可以通过在初始state中设置表单的默认值
  2. 每当表单的值发生变化,调用onChange事件处理器
  3. 事件处理器通过合成事件对象拿到改变后的状态,并更新应用的state
  4. setState触发视图的重新渲染,完成表单组件值得更新

每次表单值发生变化时,都会执行上述几步。这样统一了组件内部状态,使表单的状态更可靠。这也意味着,在执行最后一步setState之前,我们可以对值进行修饰。

例子

class Controlled extends Component{
   
  constructor(props){
   
    super(props);
    this.state = {
   
      inputState: ''
    }
    this.changeHandle = this
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值