美文网首页
四. React的不受控组件

四. React的不受控组件

作者: zewweb | 来源:发表于2018-05-09 14:20 被阅读0次

    不受控组件指的是,表单数据有DOM元素本身处理。
    要编写一个为控制组件,可以使用一个ref来从DOM获得表单值,而不是为每个状态更新编写一个事件处理程序。
    例如:

    class NameForm extends React.Component {
      constructor(props) {
        super(props);
        this.handleSubmit = this.handleSubmit.bind(this);
      }
    
      handleSubmit(event) {
        alert('A name was submitted: ' + this.input.value);
        event.preventDefault();
      }
    
      render() {
        return (
          <form onSubmit={this.handleSubmit}>
            <label>
              Name:
              <input type="text" ref={(input) => this.input = input} />
            </label>
            <input type="submit" value="Submit" />
          </form>
        );
      }
    }
    

    注:使用不受控组件时很容易实现React代码与非React代码的集成。如果你希望的是快速开发,不要求代码质量,不受控组件可以一定程度上减少代码量。否则应当使用受控组件。

    默认值

    在不受控组建中,你可能希望React有初始值,这时可以使用defaultValue属性而不是value属性。
    同样, <input type="checkbox"><input type="radio"> 支持 defaultChecked,而 <select><textarea> 支持defaultValue

    相关文章

      网友评论

          本文标题:四. React的不受控组件

          本文链接:https://www.haomeiwen.com/subject/walwrftx.html