React的受控组件和非受控组件
在HTML当中,像 <input> , <textarea> , 和 <select> 这类表单元素会维持自身状态,并根据用户输入进行更新。但在React中,可变的状态通常保存在组件的状态属性中,并且只能用 setState() 方法进行更新。 非受控组件 非受控组件,即组件的状态不受React控制的组件,例如下边这个 import React, { Component } from 'react'; import ReactDOM from 'react-dom'; class Demo1 extends Component { render() { return ( <input /> ) } } ReactDOM.render(<Demo1/>, document.getElementById('content')) 在这个最简单的输入框组件里,我们并没有干涉input中的value展示,即用户输入的内容都会展示在上面。如果我们通过props给组件设置一个初始默认值,defaultValue属性是React内部实现的一个属性,目的类似于input的placeholder属性。 ps: 此处如果使用value代替defaultValue,会发现输入框的值无法改变。 受控组件 同样的,受控组件就是组件的状态受React控制。上面提到过,既然通过设置input的value属性,