react js 处理表单( form )的2个例子

简介: react js 处理表单( form )的2个例子

起因, 目的:
表单其实,有点复杂,因为涉及事件,event.
不熟悉的代码,还是尽量手写,不然的话,AI 生成的东西,自己看不懂。

例1 普通, 直接的方法
一个输入框,一个处理函数。

import { useState } from "react";

// 使用 form, 表单
function App() {
const [username, setUsername] = useState("friend!");
const [password, setPassword] = useState("123!");

function handleUsernameChange(event) {

// 理解 event.target.value
// target 是 input 标签,
// value  是用户输入的值
// 同理,还可以打印出其他属性,
// 如 event.target.name, event.target.type 等
console.log("Username changed: ", event.target.value);
// console.log("event.target.name: ", event.target.name);
// console.log("event.target.type: ", event.target.type);

}

function handlePasswordChange(event) {
console.log("Password changed: ", event.target.value);
}

return (





);
}

export default App;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

onChange 这个函数确实很有用,用户调试代码很不错。

例2 用一个函数来处理表单
import { useState } from "react";

// 使用 form, 表单
function App() {

// 用一个 state 来处理整个表单。
const [formData, setFormData] = useState({username: "", password: ""});

console.log("formData changed: ", formData);

function handleChange(event) {
setFormData(prevFormData => {

  return {
    ...prevFormData,  // 复制 prevFormData 对象

    // 这里如果不加 [] 会报错。
    // [event.target.name] 表示动态计算出这个字段的名字, 作为对象的 key
    [event.target.name]: event.target.value  // 更新对应字段
  }

})

}

// 如果要使用 一个函数来处理表单,每个字段都加上 name 属性
return (





);
}

export default App;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

结论 + todo
走过路过,支持一下啊。

相关文章
|
2月前
|
移动开发 前端开发 JavaScript
React 表单与事件
10月更文挑战第10天
44 1
|
15天前
|
存储 前端开发 JavaScript
React 表单输入组件 Input:常见问题、易错点及解决方案
本文介绍了在 React 中使用表单输入组件 `Input` 的基础概念,包括受控组件与非受控组件的区别及其优势。通过具体代码案例,详细探讨了创建受控组件、处理多个输入字段、输入验证和格式化的方法,并指出了常见易错点及避免方法,旨在提升表单的健壮性和用户体验。
27 4
|
2月前
|
前端开发 JavaScript 数据安全/隐私保护
深入探索研究React表单
【10月更文挑战第6天】
91 57
|
1月前
ractive.js联系表单动画效果源码
一款ractive.js联系表单动画效果,很有创意的发送邮件、联系内容等表单,基于ractive.js实现的动画效果,以发送信件的方式。
24 1
|
1月前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
46 3
|
1月前
|
前端开发 JavaScript
React 表单处理技巧
【10月更文挑战第24天】本文从初学者角度出发,详细介绍了 React 中表单处理的基本概念、常见问题及解决方案。涵盖受控组件与非受控组件的区别、状态更新、表单验证、多字段管理及高级技巧,通过代码示例帮助读者更好地理解和应用。
81 7
|
2月前
|
JavaScript 数据安全/隐私保护
2024了,你会使用原生js批量获取表单数据吗
2024了,你会使用原生js批量获取表单数据吗
57 4
|
2月前
|
JavaScript 前端开发 数据安全/隐私保护
前端技术分享:使用Vue.js构建响应式表单
【10月更文挑战第1天】前端技术分享:使用Vue.js构建响应式表单
|
3月前
|
移动开发 JavaScript 前端开发
js之操作表单 | 12-4
js之操作表单 | 12-4
|
3月前
|
移动开发 前端开发 JavaScript
JavaScript 表单
JavaScript 表单
29 9