表单设置默认值_在React中使用表单

本文介绍了在React中处理表单的方法,包括受控和非受控元素的使用,以及如何设置默认值。受控元素通过绑定状态和onChange事件来保持数据一致性,而非受控元素则利用ref获取DOM元素的值。对于默认值,受控元素使用状态初始化,非受控元素使用defaultValue属性。同时,文章提出了对React JSX属性不可变性的疑问,指出在实际操作中属性绑定状态并更新是可以正常工作的。
摘要由CSDN通过智能技术生成

b2c6d639364bd8da70abd423a0934bbd.png

《快速上手React编程》CH7 在React中使用表单

React对于表单事件包了一层,优化了onChange等事件,比如以前DOM要失去焦点才会触发change事件,React是真的字面意义上change了就触发这个事件了。

React在表单上最大的特点在于,value它为了数据和视图的一致性,会按照表单元素的value值渲染属性,并一直保持一致,这就带来一个问题:如果用户手动往input里打了个字,因为表单元素里的value并没有被改变,所以这个input里的值不会改,视图里就是没反应。怎么办呢?

1、使用受控元素:

value绑定一个状态,然后在这个元素的onChange事件里setState这个状态,setState之前,还能对要设置的值进行校验,比如只要数字啦,可以把字母啥的剔除。onChange事件里的event.target.value可以拿到新的值。

class Content extends React.Component {
    
  constructor(props) {
    
    super(props)
    this.handleChange = this.handleChange.bind(this)
    this.state = {
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值