【React】之受控组件和非受控组件

本文详细介绍了React中的受控组件和非受控组件。受控组件的表单数据由React状态控制,通过onChange事件更新;而非受控组件则直接在DOM中维护状态,使用ref获取数据。官方推荐使用受控组件以确保数据源的统一,但在特定情况下,如大量表单元素时,非受控组件更为合适。
摘要由CSDN通过智能技术生成

React中的组件根据是否受React控制可分为受控的和非受控的。

一、受控组件

  1. 表单元素依赖于状态,表单元素需要默认值实时映射到状态的时候,就是受控组件,这个和双向绑定相似.
  2. 受控组件,表单元素的修改会实时映射到状态值上,此时就可以对输入的内容进行校验.
  3. 受控组件只有继承React.Component才会有状态.
  4. 受控组件必须要在表单上使用onChange事件来绑定对应的事件.
import React, { Component } from 'react'
export default class Shoukong extends Component {
    // 这样的写法也是声明在实例上的对象
    state = {
        username: "ff",
       // 给组件状态设置默认值,在实时修改时进行校验
    }
    // e为原生的事件绑定对象
    handleChange = (e) => {
        // 获取原生对象上的属性
        let name = e.target.name;
        this.setState({
            username: e.target.value
        })
    }

    render() {
        return (
            <div>
                <p>{this.state.username}</p>
                用户名:<input
                    type="text"
                    value={this.state.username}
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿昊在

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值