首页 > 其他 > 详细

React对比Vue(03 事件的对比,传递参数对比)

时间:2019-03-05 21:20:47      阅读:157      评论:0      收藏:0      [点我收藏+]

 

import React from ‘react‘;

class Baby extends React.Component {
constructor (props) {
super(props)
this.state={
name:‘小兵‘
}
//第二种改变this指向的方法

this.changeName2= this.changeName2.bind(this);
}
// 方法根render同级 方法1
changeName1(){
console.log(this.state.name)
this.setState({
name:‘士兵‘
})
}
// 方法根render同级 方法2 在构造函数中改变this指向(最常用的之一)
changeName2(){
this.setState({
name:‘中师‘
})
}
// 方法三 箭头函数绑定上下文的this就是组件本身(最常用就是这个)
changeName3=()=>{
console.log(this)
this.setState({
name:‘将军‘
})
}
// 对于有参数的怎么搞函数有参数
getName=(e)=>{
this.setState({
name:e
})
alert(e)
}
render (){
return (
<div>
<p>我是{this.state.name}</p>
<button onClick={this.changeName1.bind(this)}>点我改变名字方法@1</button>
<button onClick={this.changeName2}>点我改变名字方法@2</button>
<button onClick={this.changeName3}>点我改变名字方法@3</button>

<br></br>
<button onClick={this.getName.bind(this,‘我是传递的参数‘)}>函数有参数传递的写法</button>


</div>
)
}
}
export default Baby

  React中好像没有简写  onClick   Vue中有简写@click

React中事件的写法有三种最主要还是箭头函数这一种,vue 就@click=‘事件名‘,然后在methods中写对应的事件名(){  doSomething  }有参数就传递参数就行了

React不一样啊,它没有vue的methos用于把所有方法集合到一起,它的方法跟render写在同级目录,而且写完之后不用加逗号,

技术分享图片
 
最推荐还是箭头函数写的,最常用,有参数传递的时候就得bind this,
技术分享图片

 

其中React改变数据是

this.setState({
  name:‘中师‘
})
vue中是  change(){
    this.name=‘‘将军‘
  }
 
注意看区别哟

 

React对比Vue(03 事件的对比,传递参数对比)

原文:https://www.cnblogs.com/myfirstboke/p/10479721.html

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