欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

react,一句话概括受控组件和非受控组件的概念

程序员文章站 2024-02-03 10:09:28
...
  • 受控组件:

简单来说,就是一个组件的状态更新不依赖于react。像是一些表单元素:input,textarea,select这些,都是自己更新自己的状态;可以看一下代码:

import React, { Component } from 'react';
import ReactDOM from 'react-dom';

class Demo1 extends Component {
    render() {
        return (
            // 此input的value值的状态就不受Demo1的控制
            <input />
        )
    }
}

ReactDOM.render(<Demo1/>, document.getElementById('content'))
  •  
  • 非受控组件:

简单来说,就是组件的状态,受react的控制,以上的input可以改造成一个受控组件的,也就是说我想让input状态值发生变化的时候,让React组件去控制更新这件事,具体代码如下:

class Demo1 extends Component {
    constructor(props) {
        super(props);
        // 首先就是绑定去控制inputvalue的初始值
        this.state = {
            value: props.value
        }
    }

    // 当value发生变化时,去更新input的value,达到input的value受Demo1控制的目的
    handleChange(e) {
        this.setState({
            value: e.target.value
        })
    }

    render() {
        return (
            <input value={this.state.value} onChange={e => this.handleChange(e)}/>
        )
    }
}

以上所写的就是最简单的受控组件与非受控组件的基本模型了,可以在做一下参考,在日常的开发工作中应用!

这篇文章写得非常到位,可以参考一下:受控组件和非受控组件