React onClick点击事件传参三种写法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React onClick点击事件传参三种写法相关的知识,希望对你有一定的参考价值。
参考技术A <Button onClick=this.delFolder.bind(this,"abc")></Button>定义delFolder方法
delFolder = (name,e)=>
alert(name)
用bind绑定,调用是作为第二个参数传递,不用显示传递事件对象,定义方法时,事件对象作为最后一个参数传入
<Button onClick=this.delFolder("abc")></Button>
定义delFolder方法
delFolder = (name)=>
return (e)=>
console.log(e);
console.log(key);
返回一个函数,事件对象在返回的函数中
<Button onClick=(e)=>this.delFolder("abc",e)></Button>
delFolder = (name,e)=>
事件对象作为第二个参数传递
Vue Router路由传参三种方法及区别
参考技术A 1、第一种方法:拼接方式:methods:
handleClick(id) //直接调用$router.push 实现携带参数的跳转
this.$router.push(path: `/detail/$id`,)
对应路由配置:
path:'/detail/:id',
name:'detail',
component: detail
获取参数方式: this.$route.params.id
2、第二种方法:params传参 (通过路由属性中的name来确定匹配的路由,通过params来传递参数。)
methods:
handleClick(id)
this.$router.push(name:'detail', // 根据name确定匹配路由params: id: id)
//或者采用router-link前往Detail页面
<router-link :to="name: 'detail', params: id: 1 ">前往Detail页面</router-link>
对应路由配置:
path:'/detail/:id',
name:'detail',
component: detail
获取参数方式: this.$route.params.id
三、第三种方法:query传参
使用path来匹配路由,然后通过query来传递参数,这种情况下 query传递的参数会显示在url后面?id=?
methods:
handleClick(id)
this.$router.push(path:'/detail',query: id: id)
对应路由配置:
path:'/detail',
name:'detail',
component: detail
//获取参数:this.$route.query.id
四、总结:params和query中的区别
1、接收方式
query传参:this.$route.query.id
params传参:this.$route.params.id
2、路由展现方式
query传参:/detail?id=1&user=123&identity=1&更多参数
params传参:/detail/123
以上是关于React onClick点击事件传参三种写法的主要内容,如果未能解决你的问题,请参考以下文章