在 jQuery 中镜像 DOM 中的 JSON 对象更改

发布日期:2026-07-02 12:02:04   来源 : 杭州电子商务研究院    浏览量 :9
杭州电子商务研究院 发布日期:2026-07-02 12:02:04  
9

介绍

使用 React 为 Web 应用创建用户界面轻而易举。React 为开发人员提供了灵活性,并促进了可重用性,从而最大限度地重复使用常见的 UI 元素,例如按钮、文本输入、导航等。在使用 React 进行开发时,您无需担心 DOM 更改如何发生,因为 React 会为您完成所有繁重的优化。

React 中的状态用于跟踪应用中数据随时间的变化情况,而 props 是可以在不同组件之间传递的数据。在本指南中,您将学习如何将更改镜像到 DOM 中的 JSON 对象。

在状态中存储 JSON

出于本指南的目的,请创建一个包含用户信息状态的基本组件,如下所示。用户状态是一个 JSON 对象,其属性包括姓名、年龄和薪水。

      state = {
  user: {
    name: "John Doe",
    age: 21,
    salary: 2000,
  },
};
    

在 render 方法中,使用JSON.stringify()方法显示 JSON 对象。在其下方,添加三个输入,它们将分别更改 name、age 和 salary 的值。

      <div className="app">
  <pre>{JSON.stringify(user, null, 2)}</pre>
  <div>
    <input
      onChange={this.handleChange}
      name="name"
      placeholder="Name"
      value={user.name}
    />
    <input
      onChange={this.handleChange}
      name="age"
      placeholder="Age"
      value={user.age}
    />

    <input
      onChange={this.handleChange}
      name="salary"
      placeholder="Salary"
      value={user.salary}
    />
  </div>
</div>
    

现在,编写一个handleChange方法,该方法将根据输入的值更改用户状态值。确保输入的名称与用户状态中的属性名称匹配。

      handleChange(e) {
    this.setState({
      user: {
        ...this.state.user,
        [e.target.name]: e.target.value,
      },
    });
  }
    

将以上所有代码片段放在一起,您的最终组件应如下所示。

      import React from "react";

class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      user: {
        name: "John Doe",
        age: 21,
        salary: 2000,
      },
    };

    this.handleChange = this.handleChange.bind(this);
  }

  handleChange(e) {
    this.setState({
      user: {
        ...this.state.user,
        [e.target.name]: e.target.value,
      },
    });
  }

  render() {
    const { user } = this.state;
    return (
      <div className="app">
        <pre>{JSON.stringify(user, null, 2)}</pre>
        <div>
          <input
            onChange={this.handleChange}
            name="name"
            placeholder="Name"
            value={user.name}
          />
          <input
            onChange={this.handleChange}
            name="age"
            placeholder="Age"
            value={user.age}
          />

          <input
            onChange={this.handleChange}
            name="salary"
            placeholder="Salary"
            value={user.salary}
          />
        </div>
      </div>
    );
  }
}
    

如果您检查结果,您会注意到,当您更改文本框中的值时,用户 JSON 对象也会立即改变。

在 React 中,使用输入元素的 value prop 将数据绑定到输入,从而使输入受控。受控输入从状态中获取值,并在输入中的值发生变化时触发onChange事件。组件完全控制输入的值,而输入无法直接访问组件的状态。因此,这被称为单向数据绑定。

结论

如果您刚开始使用 React,您必须了解 React 中的单向数据绑定的工作原理。如果您了解使用 props 或 context 在组件之间传递数据的各种策略,那就再好不过了。受控组件可让您的 UI 与组件状态保持同步,使其可预测且易于调试。

这就是本指南的全部内容。要了解有关 React 中数据绑定的更多信息,请查看本文

以上内容来自杭州电子商务研究院推送
关注
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据