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>

  );

};
相关推荐
关二哥拉二胡1 分钟前
前端的 AI 应用开发系列四:智能体Agent的发展历程
前端·javascript
best6662 分钟前
JS数组遍历方法这么多,for/forEach/forof我该怎么选?
前端·javascript
._Ha!n.13 分钟前
React基础知识(一)
react.js
孟健43 分钟前
【社招】字节跳动猫箱前端团队招人啦~
前端·招聘
迷途小码农零零发1 小时前
createContext+useContext+useReducer组合管理React复杂状态
前端·javascript·react.js
YiHanXii1 小时前
React中的跨组件通信
前端·javascript·react.js
markzzw1 小时前
《浏览器插件钱包(二) - 处理DApp请求》
前端·web3·区块链
LCY1331 小时前
spring security的密码加密
前端·python·spring
LaoZhangAI1 小时前
Gemini 2.0 Flash Experimental API完全指南:图像生成/思考链应用/国内稳定访问【2025最新】
前端·后端
栩栩云生1 小时前
📥 x-cmd install | Slumber - 告别繁琐,拥抱高效的终端 HTTP 客户端
前端·后端·http