react 组件双向绑定

1. 使用 state 实现双向绑定

对于双向绑定,需要同时处理表单元素的`value`属性(通过`state`来设置)和`onChange`事件(用于更新`state`)。

javascript 复制代码
import { useState } from "react";

const MyComponent = () => {

  const [inputValue, setInputValue] = useState("");

  const handleChange = (e) => {

    setInputValue(e.target.value);

  };

  return (

    <div>

      <input type="text" value={inputValue} onChange={handleChange} />

      <p>You entered: {inputValue}</p>

    </div>

  );

};

2. 多个表单元素的双向绑定

例如表单中有多个输入框,可以为每个表单元素创建一个独立的状态变量,或者使用一个对象来存储所有表单元素的值。

javascript 复制代码
import { useState } from "react";

const MyFormComponent = () => {

  const [formData, setFormData] = useState({

    name: "",

    email: "",

  });

  const handleChange = (e) => {

    const { name, value } = e.target;

    setFormData({

      ...formData,

      [name]: value,

    });

  };

  const handleSubmit = (e) => {

    e.preventDefault();

    console.log("Form submitted:", formData);

  };

  return (

    <form onSubmit={handleSubmit}>

      <input

        type="text"

        name="name"

        value={formData.name}

        onChange={handleChange}

      />

      <input

        type="email"

        name="email"

        value={formData.email}

        onChange={handleChange}

      />

      <button type="submit">Submit</button>

    </form>

  );

};
相关推荐
hzb6666615 小时前
xd_day47文件上传-day55xss
javascript·学习·安全·web安全·php
木子啊15 小时前
HTML防窥技巧:让源码难以偷窥
前端·html·查看源码·禁止查看源码
梦65015 小时前
前端路由守卫:掌控页面跳转的 “守门人”
前端
jiayong2315 小时前
前端性能优化系列(二):请求优化策略
前端·性能优化
H_ZMY15 小时前
前端实现 HTTPS 强制跳转与移动端域名自动适配
前端·网络协议·https
We་ct15 小时前
LeetCode 42. 接雨水:双指针解法深度剖析与全方法汇总
前端·算法·leetcode·typescript
灰海16 小时前
vue实现即开即用的AI对话打字机效果
前端·javascript·vue.js·打字机
摘星编程16 小时前
React Native鸿蒙:TabBar自定义图标样式
react native·react.js·harmonyos
智绘前端16 小时前
React 组件开发速查卡
前端·react.js·前端框架
箫笙默16 小时前
前端相关技术简介
前端