React事件,修改this.state的值
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事件,修改this.state的值的更多相关文章
- Flutter中通过普通的点击事件修改TextFormField的值
		import 'package:flutter/material.dart'; import 'package:zhongfa_apps/widget/public/PublicWidget.dart ... 
- ListView与.FindControl()方法的简单练习 #2 -- ItemUpdting事件中抓取「修改后」的值
		原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/06/24/listview_itemupdating_findcontrol_201 ... 
- React使用DVA本地state传值取值
		React使用DVA本地state传值取值 最近在用Ant Pro 做一个后台系统,在使用中发现Antd Pro使用DVA来实现redux+sagas+router一系列的功能,比传统方式要方便快捷的 ... 
- React 事件对象、键盘事件、表单事件、ref获取dom节点、react实现类似Vue双向数据绑定
		1.案例实现代码 import React, { Component } from 'react'; /** * 事件对象.键盘事件.表单事件.ref获取dom节点.react实现类似Vue双向数据绑 ... 
- React中props和state相同点和不同点
		朋友们,我想死你们了,最近这几天忙着和病魔作斗争所以没怎么写博客,今天感觉好点了,赶紧来写一波,就是这木敬业. 今天我们来讨论讨论props和state相同点和不同点 首先我来概要说明一下这两者 pr ... 
- [转] 深入理解React 组件状态(State)
		React 的核心思想是组件化的思想,应用由组件搭建而成,而组件中最重要的概念是State(状态),State是一个组件的UI数据模型,是组件渲染时的数据依据. 一. 如何定义State 定义一个合适 ... 
- react事件中的事件对象和常见事件
		不管是在原生的js还是vue中,所有的事件都有其事件对象,该事件对象event中包含着所有与事件相关的信息,在react中,所有的事件也有其事件对象,在触发DOM上的某个事件时,就会产生一个事件对象. ... 
- 深入理解React 组件状态(State)
		React 的核心思想是组件化的思想,应用由组件搭建而成,而组件中最重要的概念是State(状态),State是一个组件的UI数据模型,是组件渲染时的数据依据. 一. 如何定义State 定义一个合适 ... 
- React事件绑定的几种方式对比
		React事件绑定 由于类的方法默认不会绑定this,因此在调用的时候如果忘记绑定,this的值将会是undefined.通常如果不是直接调用,应该为方法绑定this.绑定方式有以下几种: 1. 在构 ... 
随机推荐
- spring-boot 几个工具类(七)
			环境 jdk 6 tomcat 6.0.53 sts 4.4.2 maven 3.2.5 mysql 5.7 SpringContextHolder SpringContextHolder 可以很方便 ... 
- Jboss: Using reverse path on top path: /xxx
			环境 jboss 5.2 原因 加载资源的协议错误.一般在加载文件的时候,URL 都是以 file: 开头,但是在 jboss 上时,由于其虚拟化了路径,导致协议不一致,并且找不到外部的配置文件. 分 ... 
- Symfony4框架中单元测试和接口测试中的一些小坑
			前提说明: symfony 版本 4.1.*,使用 composer create-project symfony/website-skeleton 进行安装. 目标:在一个单元测试用例中对当前工 ... 
- Gson格式转换Integer变为Double类型问题解决
			问题描述 在前后端分离的开发模式下,前后端交互通常采用JSON格式数据.自然会涉及到json字符串与JAVA对象之间的转换.实现json字符串与Java对象相互转换的工具很多,常用的有Json.Gso ... 
- Tensorflow加载预训练模型和保存模型
			转载自:https://blog.csdn.net/huachao1001/article/details/78501928 使用tensorflow过程中,训练结束后我们需要用到模型文件.有时候,我 ... 
- nginx + uwsgi 部署django项目
			因项目需求,需要部署django项目,这里是基础的nginx配合uwsgi部署django,后续会采用docker部署的方式 环境: centos7 python3.5.4 django2.1.4 u ... 
- Scala学习九——文件和正则表达式
			一.本章要点 Source.fromFile(...).getLines.toArray输出文件的所有行; Source.fromFile(...).mkString以字符串形式输出文件内容; 将字符 ... 
- word、ppt转换为pdf
			using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ... 
- devXpress ribbonForm处理
			1.图标处理 这个图标是通过 Element Ribbon API 
- centos7安装配置NFS文件共享存储
			一,环境介绍 本实验使用了两台centos7虚拟机,其中 服务器:192.168.1.188 客户端:192.168.1.189 二,实验步骤 192.168.1.1 ... 
