首页 > 其他 > 详细

React事件

时间:2019-12-11 01:29:15      阅读:97      评论:0      收藏:0      [点我收藏+]

1、React中绑定事件

  React中绑定事件格式:

onClick = { function }

  React中绑定事件的标准用法:

import React from ‘react‘

export default class Hello5 extends React.Component {
    constructor() {
        super()
        this.state = {
            msg: ‘测试点击事件‘
        }
    }
    render() {
        return <div>
            基于class创建组件, {this.props.id} + ‘--‘ + {this.props.name}
            <h4>{this.state.msg}</h4>

            {/* 测试点击事件 */}
            <button id="btn" onClick={ () => this.myOnclickHandler(‘hehe‘) }>测试点击事件</button>
            </div>
    }

    // myOnclickHandler(msg) {
    //     console.log(msg)
    // }

    myOnclickHandler = (msg) => {
        console.log(msg)
    }
}

 

2、修改this.state的值

  通过this.setState({})来修改

import React from ‘react‘

export default class Hello5 extends React.Component {
    constructor() {
        super()
        this.state = {
            msg: ‘测试点击事件‘
        }
    }
    render() {
        return <div>
            基于class创建组件, {this.props.id} + ‘--‘ + {this.props.name}
            <h4>{this.state.msg}</h4>

            {/* 测试点击事件 */}
            <button id="btn" onClick={ () => this.myOnclickHandler(this.state.msg) }>测试点击事件</button>
            </div>
    }

    // myOnclickHandler(msg) {
    //     console.log(msg)
    // }

    // myOnclickHandler = (msg) => {
    //     console.log(msg)
    //     console.log(this.state.msg)
    //     this.setState({msg:‘msg被修改了。。。‘}) // 只是更新msg属性,如果有其它属性不会丢失或覆盖
    //     console.log(this.state.msg) // 此时还没有修改,因为setState()是异步的
    // }

    myOnclickHandler = (msg) => {
        console.log(msg)
        console.log(this.state.msg)
        this.setState({msg:‘msg被修改了。。。‘}, function () {
            console.log(this.state.msg)
        })
    }
}

 

  this.state修改前

技术分享图片

   this.state修改后

技术分享图片

 

React事件

原文:https://www.cnblogs.com/xy-ouyang/p/12020045.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!