zoukankan      html  css  js  c++  java
  • react事件

    事件的使用分为两种:1.通过ref容器;2.通过event.target

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

      a.React使用的是自定义(合成)事件, 而不是使用的原生DOM事件 —————— 为了更好的兼容性
      a.React中的事件是通过事件委托方式处理的(委托给组件最外层的元素) ————————为了的高效
     
    2.通过onXxx属性指定事件处理函数(注意大小写)
      event.target得到发生事件的DOM元素对象 ——————————不要过度使用ref
     
            //创建组件
            class Demo extends React.Component{
                /* 
                    (1).通过onXxx属性指定事件处理函数(注意大小写)
                            a.React使用的是自定义(合成)事件, 而不是使用的原生DOM事件 —————— 为了更好的兼容性
                            b.React中的事件是通过事件委托方式处理的(委托给组件最外层的元素) ————————为了的高效
                    (2).通过event.target得到发生事件的DOM元素对象 ——————————不要过度使用ref
                 */
                //创建ref容器
                myRef = React.createRef()
    
                //展示左侧输入框的数据
                showData = ()=>{
                    console.log(this.myRef.current.value);
                }
    
                //展示右侧输入框的数据
                showData2 = (event)=>{
                    console.log(event.target.value);
                    // alert(event.target.value);
                }
    
                render(){
                    return(
                        <div>
                            <input ref={this.myRef} type="text" placeholder="点击按钮提示数据"/>&nbsp;
                            <button onClick={this.showData}>点我提示左侧的数据</button>&nbsp;
                            <input onBlur={this.showData2} type="text" placeholder="失去焦点提示数据"/>&nbsp;
                        </div>
                    )
                }
            }
            //渲染组件到页面
            ReactDOM.render(<Demo a="1" b="2"/>,document.getElementById('test'))

    看的出来,第一种ref的写法,有点像vue的v-model双向绑定的意思。先定义要监听的东西,在需要的事件里直接获取;

    第二种就是常规的事件触发,在函数里获取这个事件的东西。

  • 相关阅读:
    linux系统防火墙对访问服务器的影响
    Android 样式的开发(转)
    Android开发学习总结(三)——appcompat_v7项目说明
    Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml
    BootStrap 常用控件总结
    mybatis自定义代码生成器(Generator)——自动生成model&dao代码
    MySql的下载和安装(解压版)
    jquery mobile 表单提交 图片/文件 上传
    java读取.properties配置文件的几种方法
    AngularJS------认识AngularJS
  • 原文地址:https://www.cnblogs.com/ssszjh/p/14592164.html
Copyright © 2011-2022 走看看