React——关于表单元素

关于React 处理表单元素,有两种方式:

  1. 受控组件【推荐】
  2. 非受控组件
受控组件-表单元素(状态可变,react的state控制)
  • HTML中表单元素是可输入的,即表单用户并维护着自己的可变状态(input 的 value)。
  • 可变状态保存在state中,只能通过setState进行修改。
  • React中将state中的数据与表单元素的value值绑定到了一起,由state的值来控制表单元素的值
  • 受控组件:value值受到了react控制的表单元素 (value的双向绑定,如onInput、onchange、value)
  • 相当于VUE的v-model语法糖:valuse=“message”, @input=“onInput”
class App extends React.Component {
  state = {
    inputValue: 'hello react'
  }

  handleChange = (e) => {
    this.setState({
      msg: e.target.value
    })
  }

  render() {
    return (
      <div>
        <input type="text" value={this.state.inputValue} onChange={this.handleChange}/>
      </div>
    )
  }
}
非受控组件-ref-表单元素(状态不可变,通过ref直接控制数据)

通过ref 的createRef()方法,控制DOM的方式来获取表单元素的值

  • 非受控组件是通过ref操作 DOM 的方式来控制
import { createRef } from 'react'

class New extends Component {
    // 声明一个ref
  newRef = createRef()
  handleClick = () => {
    console.log(this.newRef.current.value)  // 控制dom的value
  }
  render() {
       // 赋值给当前dom
    return (
      <div>
        <input ref={this.newRef} />
        <button onClick={handleClick}>触发handleClick</button>
      </div>
    )
  }
}

相关推荐

  1. React——关于元素

    2024-03-20 08:34:14       25 阅读
  2. React-hook-form-mui(五):包含内嵌元素

    2024-03-20 08:34:14       35 阅读
  3. ReactReact组件

    2024-03-20 08:34:14       20 阅读
  4. React

    2024-03-20 08:34:14       14 阅读
  5. React - 组件实现

    2024-03-20 08:34:14       39 阅读
  6. React 组件实现

    2024-03-20 08:34:14       41 阅读
  7. react-受控

    2024-03-20 08:34:14       43 阅读
  8. React 与事件

    2024-03-20 08:34:14       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 08:34:14       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 08:34:14       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 08:34:14       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 08:34:14       20 阅读

热门阅读

  1. 离散制造企业MES与流程企业MES的区别

    2024-03-20 08:34:14       20 阅读
  2. React.js快速入门教程

    2024-03-20 08:34:14       17 阅读
  3. 虚拟DOM是什么以及React 和Vue中有何区别

    2024-03-20 08:34:14       18 阅读
  4. 华岳M9制造企业管理软件业务流程 2/4

    2024-03-20 08:34:14       18 阅读
  5. 北斗校时服务器(GPS授时服务器,NTP同步时钟)

    2024-03-20 08:34:14       18 阅读
  6. uniapp小程序接入trtc-wx

    2024-03-20 08:34:14       16 阅读
  7. 2024-03-19 事业-代号s-商城系统-记录

    2024-03-20 08:34:14       20 阅读
  8. (css)element-ui表单整体居中

    2024-03-20 08:34:14       18 阅读
  9. ARM-GPIO电点灯实验

    2024-03-20 08:34:14       21 阅读