08. React-绑定事件

本文介绍React中的事件绑定方法及推荐实践,包括如何使用小驼峰规则绑定点击等事件,如何正确更新state值,以及如何进行数据绑定确保表单同步更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

事件绑定

在React中,有独立的事件绑定小驼峰规则 onClick onChange
绑定事件格式 onClick={function}

基本写法

<button onClick={function(){console.log('ok')}}>按钮</button>
<button onClick={this.show}>按钮</button>

推荐写法

render(){
		return <div>
			BindEvent组件 
			<button onClick={()=>{this.show('wome')}}>按钮</button>
		</div>
	}
	// show(){
	// 	console.log('你好')
	// }
	show = (arg) =>{
		console.log(arg)
	}

修改state数据

在react中,为state中数据重新赋值,不要使用 this.state.xxx = xxx

推荐使用 this.setState({}) 修改状态值

注意:

  • 该方式只会修改对应的属性值,不会覆盖其它属性
  • this.setState方法的执行是异步的;在状态值被修改后使用需要执行回调函数
this.setState({
			msg: '我不是'
		},function(){})

数据绑定

如果是绑定文本框的value不添加onChange函数,文本框将是只读的,并报错
所以必须提供onChange函数或者直接添加readOnly属性

<input onChange={()=>this.show('1')} type="text" value = {this.state.msg}/>

show = (arg) =>{
	this.setState({
		msg: '我不是'
	})
	console.log('改变')
}

注意:

  • 单向数据流:默认情况下,state状态改变,页面也会同时改变
  • 双向数据流:在react中页面改变,state不会自动改变;需要通过监听onchange事件

在onchange事件中,有两种方式获取文本框的值:

  • 传参取值xx.target.value
<input onChange={(e)=>this.show(e)} type="text" value = {this.state.msg}/>
show = (arg) =>{
	this.setState({
		msg: arg.target.value //立即改变
	})
}
  • 使用ref获取DOM元素引用
<input onChange={(e)=>this.show(e)} type="text" value = {this.state.msg} ref="txt"/>
show = (arg) =>{
	this.setState({
		msg: this.refs.txt.value
	})
	console.log(this.refs.txt.value)	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值