web前端全系列 教程
1839个小节阅读:2244.3k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
在一个受控组件中,表单数据是由 React 组件来管理的,为每一个受控组件添加事件处理函数,这并不完美。
可以使用替代方案:使用非受控组件,这时表单数据将由 DOM 节点来处理。
xxxxxxxxxx
import React, { Component } from 'react'
export default class LoginForm extends Component {
constructor(){
super();
this.username = React.createRef();
this.password = React.createRef();
}
onSubmit=(e)=>{
e.preventDefault();
console.log(this.username.current.value,this.password.current.value);
}
render() {
return (
<div>
<form onSubmit={ this.onSubmit }>
名字:<input defaultValue="baizhan" type="text" ref={ this.username } /> <br />
密码:<input defaultValue="123456" type="password" ref={ this.password } /> <br />
<input type="submit" value="登录"/>
</form>
</div>
)
}
}
提示:
如果你不介意代码美观性,并且希望快速编写代码,使用非受控组件往往可以减少你的代码量。否则,你应该使用受控组件。
实时效果反馈
1.下列描述错误的是:
A 使用受控组件则通过绑定事件获取用户输入
B 使用非受控组件则通过获取DOM获取用户输入
C 非受控组件设置初始值使用value
答案
1=>C