React事件方法、React定义方法的几种方式、获取数据、改变数据、执行方法传值
1、案例实现代码如下
import React, { Component } from 'react';
/**
* 特别注意this,对于传值和绑定都十分重要
*/
class Home4 extends Component{
constructor(props){
super(props);
//定义数据
this.state={
msg:'这是一个Home4组件',
name:"杨杰"
}
this.getMessage = this.getMessage.bind(this);
}
run(){
alert("这是一个run方法");
}
getData(){
alert(this.state.msg);
}
//改变state值
setData=()=>{
this.setState({
msg:"改变msg的值"
})
}
getMessage(){
alert(this.state.msg);
}
//箭头函数
getName=()=>{
alert(this.state.name);
}
setName=(str)=>{
this.setState({
name:str
})
}
render() {
return(
<div>
Home4 index 事件方法
<br/>
方法:{this.state.name}
<br/>
<button onClick={this.run}>执行方法,通过this.方法名</button>
<br/>
<p>方式1:通过this.方法名.bind(this)将this对象传递给getData()方法体内的this对象</p>
<button onClick={this.getData.bind(this)}>执行方法1</button>
<br/>
<p>方式2:在构造函数,通过this.getMessage = this.getMessage.bind(this)这种方式赋值</p>
<button onClick={this.getMessage}>执行方法2</button>
<br/>
<p>方式3:在构造函数,通过this.getMessage = this.getMessage.bind(this)这种方式赋值</p>
<button onClick={this.getName}>执行方法3</button>
<br/>
<button onClick={this.setData}>改变state中的值</button>
<br/>
<button onClick={this.setName.bind(this,"zhangsan")}>执行方法传值</button>
</div>
)
}
}
export default Home4;
React事件方法、React定义方法的几种方式、获取数据、改变数据、执行方法传值的更多相关文章
- ajax验证用户名 当用户名框的数据改变时 执行ajax方法
ajax验证用户名 当用户名框的数据改变时 执行ajax方法 <html xmlns="http://www.w3.org/1999/xhtml" ><head ...
- JavaScript学习12 JS中定义对象的几种方式
JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...
- JavaScript学习12 JS中定义对象的几种方式【转】
avaScript学习12 JS中定义对象的几种方式 转自: http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象. ...
- (六)javascriptJS中定义对象的几种方式(转)
JavaScript学习12 JS中定义对象的几种方式 转自: http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象 ...
- PHP定义字符串的四种方式
1.简介 在PHP中这门语言中,因为是弱类型语言,因此使用变量时不需提前定义即可使用. 我们在使用php进行开发的时候,大多数使用双引号.单引号进行定义字符串.既然有这两种方式,那么他们之间肯定是有区 ...
- vue2.* 事件 定义方法 执行方法 获取数据 改变数据 执行方法传值 以及事件对象 05
<template> <div id="app"> <button v-on:click="run1()">执行事件的第一种 ...
- vue 定义方法执行方法 获取数据 改变数据 执行方法传值 以及事件对象
<template> <div id="app"> <!-- <img v-bind:src='url' /> <img :src= ...
- Vue事件 定义方法执行方法 获取数据 改变数据 执行方法传值 以及事件对象
<template> <div id="app"> <!-- <img v-bind:src='url' /> <img :src= ...
- 使用react定义组件的两种方式
react组件的两种方式:函数定义,类定义 在定义一个组件之前,首先要明白一点:react元素(jsx)是react组件的最基本的组成单位 组件要求: 1,为了和react元素进行区分,组件名字首必须 ...
- Collections.sort方法对list排序的两种方式
Collections.sort( )分为两部分,一部分为排序规则,一部分为排序算法 . 规则用来判断对象,算法则考虑如何进行排序 对于自定义对象,sort()不知道规则,所以无法比较,这种情况下一定 ...
随机推荐
- openstack mitaka开启三层网络vxlan
在这之前,先把之前基于flat模式创建的虚机,全部删除 控制节点: 配置 修改/etc/neutron/neutron.conf的[DEFAULT]区域 将 core_plugin = ml2 ser ...
- 你所不知的VIM强大功能
1. 可视化区块(Visual Block) (1)cd ~ 切换到自己的家目录(本范例中为root用户) (2)touch test1 test2 建立两个文件做演示(3)last > tes ...
- Http请求Response Code含义
http状态返回代码 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码.100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分.101 ...
- MyEclipse使用教程:使用工作集组织工作区
[MyEclipse CI 2019.4.0安装包下载] 工作集允许您通过过滤掉不关注的项目来组织项目视图.激活工作集时,只有分配给它的项目才会显示在项目视图中. 如果您的视图中有大量项目,这将非常有 ...
- fedora29 下一款截图工具shutter的安装和调试
运行命令安装shutter sudo yum install shutter 如果使用过程中出现花屏 sudo vim /etc/gdm/custom.conf 把 #WaylandEnabled=f ...
- websocket练习
html代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...
- Python 正则表达式Ⅳ
repl 参数是一个函数 以下实例中将字符串中的匹配的数字乘以 2: 执行输出结果为: re.compile 函数 compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象 ...
- [Linux系统] (7)Keepalived高可用
一.解决LVS server单点故障 如果集群中只有一台LVS server提供数据包分发服务,如果宕机,则会导致所有的业务重点,因为所有的请求都无法到达后面的Real server. 此时我们可以采 ...
- Open Cascade 转化为OpenSceneGraph中的Mesh
#include <osgDB/ReadFile> #include <osgViewer/Viewer> #include <osgGA/StateSetManipul ...
- 论文阅读:Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN
摘要: 在软件定义网络中,控制平面在物理上与转发平面分离,控制软件使用开放接口(例如OpenFlow)对转发平面(例如,交换机和路由器)进行编程. 本文旨在克服当前交换芯片和OpenFlow协议的两个 ...