React事件处理

事件处理直接参考了慕课网上的教程,然后自己根据教程来编写实例,通过下面的实例可以很清晰地理解React的事件处理,其中需要注意的是索引refs!

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="https://cdn.bootcss.com/react/15.4.2/react.min.js"></script>
    <script src="https://cdn.bootcss.com/react/15.4.2/react-dom.min.js"></script>
    <script src="https://cdn.bootcss.com/babel-standalone/6.22.1/babel.min.js"></script>
</head>
<body>
    <div id="container"></div>
    <script type="text/jsx">
        var TestClickComponent = React.createClass({
            handleClick:function(event){
                var tipE = React.findDOMNode(this.refs.tip); {/* 获取索引 */}
                if(tipE.style.display === ‘none‘){
                    tipE.style.display = ‘inline‘;
                }else{
                    tipE.style.display=‘none‘;
                }
                event.preventDefault();
                event.stopPropagation();
            },
            render:function(){
                return(
                    <div>
                        <button onclick={this.handleClick}>显示|隐藏</button><span ref="tip">测试点击</span>
                    </div>
                )
            }
        });
        var TestInputComponent = React.createClass({
            getInitialState:function(){
                return {
                    inputContent:‘‘
                }
            },
            changeHandler:function(event){
                this.setState({
                    inputContent:event.target.value
                })
                event.preventDefault();
                event.stopPropagation();
            },
            render:function(){
                return(
                    <div>
                        <input type="text" onChange={this.changeHandler} /><span>{this.state.inputContent}</span>
                    </div>
                )
            }
        });
        ReactDOM.render(
        <div>
              <TestClickComponent></TestClickComponent>
              <TestInputComponent></TestInputComponent>
          </div>,document.getElementById("container")

        )
    </script>
</body>
</html>
时间: 2024-10-16 19:01:32

React事件处理的相关文章

为什么React事件处理函数必须使用Function.bind()绑定this?

最近在React官网学习Handling Events这一章时,有一处不是很明白.代码如下: class Toggle extends React.Component { constructor(props) { super(props); this.state = {isToggleOn: true}; // This binding is necessary to make `this` work in the callback this.handleClick = this.handleC

(转)React事件处理函数必须使用bind(this)的原因

1.JavaScript自身特性说明如果传递一个函数名给一个变量,之后通过函数名()的方式进行调用,在方法内部如果使用this则this的指向会丢失.示例代码:首先我们创建test对象并直接调用方法 : const test = { name:'jack', getName:function(){ console.log(this.name) }}test.getName()1234567使用node test.js执行上述代码可以正常输出jack. 之后,我们对代码进行调整: const te

React 事件处理函数

触摸事件:onTouchCancel\onTouchEnd\onTouchMove\onTouchStart (只会在移动设备上接受) 键盘事件:onKeyDown\onKeyPress\onKeyUp 剪切事件:onCopy\onCut\onPaste 表单事件:onChange\onInput\onSubmit 焦点事件:onFocus\onBlur UI元素:onScroll(移动设备是手指滚动和PC的鼠标滑动) 滚动事件:onWheel(鼠标滚轮) 鼠标类型:onClick\onCont

React框架

# React框架 ##梳理笔记: **属性设置`style={{marginLeft:"10px"}}`** **添加自定义属性需要使用 data- 前缀** **在 JSX 中使用 JavaScript 表达式.表达式写在花括号 {} 中** **在 JSX 中不能使用 if else 语句,但可以使用 conditional (三元运算) 表达式来替代** ```js render(){ return( <div> <h1>{i == 1 ? 'True!

我们一起来详细的了解react的语法以及组件的使用方法

jsx的介绍 React 使用 JSX 来替代常规的 JavaScript. JSX 是一个看起来很像 XML 的 JavaScript 语法扩展. jsx的优点 JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化. 它是类型安全的,在编译过程中就能发现错误. 使用 JSX 编写模板更加简单快速. JSX的使用方法 独立文件 内联样式 注释 JSX的语法 JavaScript 表达式的使用 三元运算的使用 数组化标签 关于组件 函数定义了一个组件: 函数定义名字使用驼峰方法

Reactjs 入门基础(三)

State 和 Props以下实例演示了如何在应用中组合使用 state 和 props .我们可以在父组件中设置 state, 并通过在子组件上使用 props 将其传递到子组件上.在 render 函数中, 我们设置 name 和 site 来获取父组件传递过来的数据. Props 验证 Props 验证使用 propTypes,它可以保证我们的应用组件被正确使用,React.PropTypes 提供很多验证器 (validator) 来验证传入数据是否有效.当向 props 传入无效数据时

百度面经

1. 计算机网络TCP的三次握手和四次挥手,画图并解释. 为什么不用4次握手 2. bootstrap的tab页面是怎么实现的 3. react的事件处理函数 4. ES6了解哪些 5. 箭头函数和普通函数的区别,举例说明 6. react事件处理函数的箭头函数的写法 7. array的遍历函数中哪些可以break出来 8. Sass的特点,css预处理的好处 ****把react项目再好好复习

React 组件的生命周期API和事件处理

一.简单记录React的组件的简洁的生命周期API: A:实例化期: 一个实例第一次被创建时所调用的API与其它后续实例被创建时所调用的API略有不同. 实例第一次被创建时会调用getDefaultProps,而后续实例创建时不会调用这个方法. 实例被创建时,依次被调用的API有: getDefaultProps: 实例第一次被创建时才调用,对于组件类来说,它只调用一次. 这个方法返回的对象可为实例设置默认的props值. getInitialState: 对于每个实例来说,这个方法只调用一次.

React 深入系列5:事件处理

文:徐超,<React进阶之路>作者 授权发布,转载请注明作者及出处 React 深入系列5:事件处理 React 深入系列,深入讲解了React中的重点概念.特性和模式等,旨在帮助大家加深对React的理解,以及在项目中更加灵活地使用React. Web应用中,事件处理是重要的一环,事件处理将用户的操作行为转换为相应的逻辑执行或界面更新.在React中,处理事件响应的方式有多种,本文将详细介绍每一种处理方式的用法.使用场景和优缺点. 使用匿名函数 先上代码: //代码1 class MyCo