React从入门到实战-事件处理,受控组件与非受控组件

这篇具有很好参考价值的文章主要介绍了React从入门到实战-事件处理,受控组件与非受控组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

事件处理
  1. 通过onXxx属性指定事件处理函数(注意大小写)

    1. React使用的是自定义(合成)事件,而不是使用的原生DOM事件——为了更好的兼容性
    2. React中的事件是通过事件委托方式处理的(委托给组件最外层的元素——为了更高效
  2. 通过event.target得到发生事件的DOM元素对象

收集表单数据
  1. 非受控组件:不能通过代码来控制值,只能通过用户行为操作值,通过DOM节点来处理数据
  2. 受控组件:通过React的state作为数据唯一来源,通过变更函数调用setState方法更新数据的表单输入元素。
// 非受控组件
   class Login extends React.Component{
        showData = (event)=>{
            event.preventDefault()//阻止表单提交
            let {username,password } = this
            alert(`你的用户名是:${username.value},你的密码是:${password.value}`)
        }
        render(){
            return (
                <form action="http://www.baidu.com" onSubmit={this.showData}>
                    <div>
                        <label>用户名:</label>
                        <input type="text" placeholder="请输入用户名" name="username" ref={(c)=>{this.username = c}}/>
                    </div>
                    <div>
                        <label>密码:</label>
                        <input type='password' placeholder="请输入密码" name="password" ref={(c)=>{this.password = c}}/>
                    </div>
                    <button>登录</button>
                </form>
            )
        }
    }
    ReactDOM.render(<Login/>,document.getElementById("test"))

// 受控组件
 class Login extends React.Component{
        state = {
            username:"",
            password:""
        }
        showData = (event)=>{
            event.preventDefault()//阻止表单提交
            let {username,password } = this.state
            alert(`你的用户名是:${username},你的密码是:${password}`)
        }
        setUserName = (e)=>{
            this.setState({
                username:e.target.value
            })
        }
        setPWD = (e)=>{
            this.setState({
                password:e.target.value
            })
        }
        render(){
            return (
                <form action="http://www.baidu.com" onSubmit={this.showData}>
                    <div>
                        <label>用户名:</label>
                        <input type="text" placeholder="请输入用户名" name="username" onChange={this.setUserName}/>
                    </div>
                    <div>
                        <label>密码:</label>
                        <input type='password' placeholder="请输入密码" name="password" onChange={this.setPWD}/>
                    </div>
                    <button>登录</button>
                </form>
            )
        }
    }
    ReactDOM.render(<Login/>,document.getElementById("test"))

高阶函数

如果一个函数符合下面两个规范中的任何一个,则该函数就是高阶函数:

  • 若A函数,接收的参数是一个函数,则A为高阶函数
  • 若A函数,调用的返回值依然是一个函数,则A为高阶函数

常见的高阶函数有:Promise,setTimeout,arr.map()等等

函数的柯里化

通过函数调用继续返回函数的方式,实现多次接收参数最后统一处理的函数编码形式文章来源地址https://www.toymoban.com/news/detail-524904.html

到了这里,关于React从入门到实战-事件处理,受控组件与非受控组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • react中的受控组件和非受控组件

    在React中,受控组件和非受控组件是两种处理表单输入的方式。 受控组件是指由React控制并维护其状态的组件。这意味着表单输入的值由组件的 state 属性来管理,每次值发生变化时都会更新 state 。要更新受控组件的值,需要通过 onChange 事件处理函数来更新 state ,然后再将新

    2024年02月06日
    浏览(39)
  • React 中的受控组件

    React 中的受控组件是由 React 组件管理其值的表单组件。它们的值受到 React 组件状态的控制,更新时会通过回调函数进行数据的处理。 受控组件的特点包括: 值由状态控制:受控组件的值是通过 React 组件的状态进行控制和更新的。 通过事件处理器更新值:受控组件通常配合

    2024年02月15日
    浏览(196)
  • 初识React/JSX/组件/state/受控组件

                                               

    2024年02月12日
    浏览(60)
  • 在react中说说对受控组件和非受控组件的理解?以及应用场景

    简单来讲,就是受我们控制的组件,组件的状态全程响应外部数据 举例: 这时候当我们在输入框输入内容时,会发现输入的内容无法显示出来,此时input标签是一个可读的状态,因为value被this.state.username所控制,当用户输入时,this.state.username不会自动更新,这样的话input的内

    2024年01月22日
    浏览(191)
  • 前端react入门day02-React中的事件绑定与组件

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 React中的事件绑定 React 基础事件绑定 使用事件对象参数  传递自定义参数  同时传递事件对象和自定义参数  React中的组件  组件是什么 React组件 useState  修改状态的规

    2024年02月06日
    浏览(85)
  • 快速上手React:从概述到组件与事件处理

    「作者主页」 :雪碧有白泡泡 「个人网站」 :雪碧的个人网站 「推荐专栏」 : ★ java一站式服务 ★ ★ React从入门到精通 ★ ★ 前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升 ★ ★ 从0到英雄,vue成神之路 ★ ★ 解决算法,一个专栏就够了 ★ ★

    2024年02月13日
    浏览(57)
  • React【React是什么?、创建项目 、React组件化、 JSX语法、条件渲染、列表渲染、事件处理】(一)

           React是什么? 为什么要学习React  React开发前准备  创建React项目 

    2024年02月11日
    浏览(52)
  • React从入门到实战 -组件的三大核心属性(1)state

    State state是组件对象最重要的属性, 值是对象 (可以包含多个Key-value的组合) 组件被称为状态机,通过更新组件的state来更新对应的页面显示(重新渲染组件) 有状态的组件 除了使用外部数据(通过this.props访问)以外,组件还可以维护其内部的状态数据(通过this.state访问

    2024年02月10日
    浏览(36)
  • React 中事件处理

    不要问自己需要什么样的人生,而要问自己想要成为什么样的人。 我们从前面的学习知道一个 React 组件不仅仅只包含 DOM 结构的,还应该样式和 Javascript 逻辑的。这里我们认识逻辑构造之事件处理。 这里列举了在 React 中事件的几种绑定处理方式: 这里重点说明下在事件和事

    2024年02月05日
    浏览(40)
  • react之事件处理

    这里的事件,指的是 React 内部封装 DOM 组件中的事件 ,如 onClick , onFocus 等,而非我们自己通过 props 传递的属性,并在子组件中手动触发的事件 实例 react事件声明 react事件采用 驼峰式 命名 react事件接收一个 函数声明 , 不是函数调用的形式 绑定事件 采用 on+事件名的方式

    2024年02月05日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包