如何将静态数据传递到 React 组件

发布日期:2026-07-16 02:34:02   来源 : 杭州电子商务研究院    浏览量 :2
杭州电子商务研究院 发布日期:2026-07-16 02:34:02  
2

介绍

静态数据可以作为各种用途的来源,例如显示静态信息、维护应用程序范围的配置信息以及与 JSX 元素一起渲染静态数据。React 支持 props 和 state,这是管理组件间静态和动态数据的基础。通过本指南,您将了解如何将静态数据(例如 props 和 state 数据)传递给组件。

将状态数据传递给组件

状态是一个普通的 JavaScript 对象,由键值对作为对象数据组成。因此,状态数据可以从父组件传递到子组件,反之亦然。

第一种方法是将状态数据从父组件传递到子组件,如下所述。

像这样将静态数据创建到状态对象中。

      constructor() {
    super();
    this.state = {
      name: "hey123",
      age: "30",
      occupation: "designer"
    };
}
    

并将状态值传递给子组件,如下所示。

      render() {
    return (
      <div>
        <p>2. Pass data using state</p>
        <hr />
        <ChildComponent
          name={this.state.name}
          age={this.state.age}
          occupation={this.state.occupation}
        />
      </div>
    );
}
    

从子组件中,它可以作为props访问。

      render() {
    const { name, age, occupation } = this.props;
    return (
      <div>
        <p>Student detail :</p>
        <hr />
        <table>
          <tr>
            <td>Name :</td>
            <td>{name}</td>
          </tr>
          <tr>
            <td>City :</td>
            <td>{age}</td>
          </tr>
          <tr>
            <td>College :</td>
            <td>{occupation}</td>
          </tr>
        </table>
      </div>
    );
}
    

所有状态值都从 props 中提取出来,用于与表格一起呈现数据。

      const { name, age, occupation } = this.props;
    

下一种方法是通过触发事件将静态数据从子组件传递到父组件。

从子组件中创建一个按钮以及来自父组件的函数名称,如下所示。

      <button
    onClick={this.props.onButtonClick({
        name: "test123",
        age: "25"
    })}
    >
    Click to send
</button>
    

单击按钮后,可以从父组件访问该对象。为此,您需要将函数名称传递给子组件。

      render() {
    return (
      <div>
        <ChildComponent
          // pass action to child
          onButtonClick={this.onButtonClick}
        />
      </div>
    );
}
    

并且父组件的功能应该类似下面的示例。

      onButtonClick(data) {
    console.log("Data coming from child component :", data)
}
    

将 Props 数据传递给组件

Props 和 states 相对来说是等同的,但是显著的区别是 props 的值是不能被修改的,也就是说 props 的值是不可变的。

如果你在组件中使用状态数据并将其传递给子组件,那么它将成为子组件的 props。

创建一个名为student 的状态对象,如下所示。

      constructor() {
    super();
    this.state = {
      student: {
        name: "test123",
        city: "testcity",
        college: "xyzcollege"
      }
    };
}
    

将学生对象从状态传递到子组件。

      render() {
    return (
      <div>
        <p>Pass data using props</p>
        <ChildComponent student={this.state.student} />
      </div>
    );
}
    

如您所见,有一个正在使用的添加属性,称为student,以及子组件。

      <ChildComponent student={this.state.student} />
    

一旦将数据传递给子组件,它将变得不可变,但它可以从子组件用作数据源,如下所示。

      render() {
    const { student } = this.props;
    return (
      <div>
        <p>Student detail :</p>
        <hr />
        <table>
          <tr>
            <td>Name :</td>
            <td>{student.name}</td>
          </tr>
          <tr>
            <td>City :</td>
            <td>{student.age}</td>
          </tr>
          <tr>
            <td>College :</td>
            <td>{student.occupation}</td>
          </tr>
        </table>
      </div>
    );
}
    

这是将数据作为 props 传递给 React 应用程序中的各个组件的标准方法。

其他方法

state 和 props 是组件内外数据操作的典型代表,但还有其他方法可以将静态数据传递给组件,如下所示。

  • Redux 全局状态管理(如果组件没有关系)
  • JavaScript 窗口对象
  • React 上下文 API

结论

将静态数据传递给组件是任何需要源数据进行渲染并根据其值操作元素的应用程序的重要组成部分。

State 和 props 是跨组件处理静态和动态数据的常规方法之一。我希望它能帮助您理解实现和使用静态数据的策略。继续学习。

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