Module 01 · Introduction to React and Class ComponentsReact 与类组件简介
Introduction to States React中的状态(State)与属性(Props)简介
欢迎学习 React 中的状态(State)!通过本视频,你将能够:
- 解释 Class 组件 中 State 的使用
- 解释 Class 组件 中 Props 的使用
- 比较并对比 State 和 Props
什么是 State?
State 允许你在应用中更改数据。它是 React 类组件 中用于跟踪应用状态的对象,包含多个键值对来表示你想要跟踪的数据。
State 的作用
- State 是一个普通的 JavaScript 对象,用来表示组件当前的状态。
- State 变化 会触发组件的重新渲染。
- State 管理:你可以在组件内部管理并保留状态对象,随着用户交互进行更新。
State 的分类
- 局部状态(Local State):只在单一组件中存在,无法被其他组件访问。
- 例如:一个展示/隐藏信息的组件使用局部状态。
- 共享状态(Shared State):多个组件可访问和修改的状态。
- 例如:在一个订单应用中,订单列表的状态通常是共享的。
State 的核心概念
- State 是类的实例:每个 React 类组件都有一个内置的 state 对象。这个对象用于存储该组件的属性值。
- 状态变更触发重新渲染:当 state 改变时,组件会重新渲染。
- State 的管理:
- 使用
this.state来初始化状态。 - 使用
this.setState()来更新状态。
示例:简单的计数器应用
考虑一个包含按钮和计数器的简单应用。当用户按下按钮时,计数器变量增加 1,并且该值存储在状态中。以下是代码示例:
class Counter extends React.Component {
constructor(props) {
super(props);
this.state = {
count: 0
};
}
increment = () => {
this.setState({ count: this.state.count + 1 });
};
render() {
return (
<div>
<p>Count: {this.state.count}</p>
<button onClick={this.increment}>Increment</button>
</div>
);
}
}
📌 解释:
this.state:用于存储count状态。this.setState:用于更新count值,并触发组件的重新渲染。

什么是 Props?
Props 是 React 中用于在组件之间传递数据的属性。它使得父组件能够将数据传递给子组件,并且是只读的。
Props 的作用:
- Props 用来从父组件向子组件传递数据。
- 它们是只读的,不能在子组件内修改。
- Props 可以传递 函数,使子组件调用父组件的方法。
示例:使用 Props
class TestComponent extends React.Component {
render() {
return <h1>{this.props.name}</h1>;
}
}
class ParentComponent extends React.Component {
render() {
return (
<div>
<TestComponent name="John" />
<TestComponent name="Jill" />
</div>
);
}
}
📌 解释:
- 父组件(
ParentComponent)将name属性通过 Props 传递给 子组件(TestComponent)。 - 子组件使用
this.props.name来访问并显示父组件传递的数据。
State 与 Props 的对比

| 特性 | State | Props |
|---|---|---|
| 修改权限 | 只能在组件内部修改,不能从外部直接修改。 | 由父组件传递,子组件只能读取,不能修改。 |
| 数据流向 | 管理自己的数据,通常是组件内部的数据变化。 | 数据通过父组件向子组件单向传递。 |
| 可修改性 | 可以通过 setState 方法修改,触发组件重新渲染。 |
只读,不能通过子组件修改。 |
| 生命周期管理 | 组件内部的状态可随时间变化,影响组件的行为和外观。 | 传递的数据始终保持不变。 |
| 使用场景 | 用于组件内部的状态管理,如用户输入、按钮状态等。 | 用于父子组件之间的数据传递,适用于组件间的交互。 |
关键区别:
- State 用于管理组件内部的数据和交互,而 Props 用于在父子组件之间传递不可变的数据。
- State 是组件的动态数据,随着用户交互和生命周期更新;而 Props 是静态数据,由父组件传递给子组件。
总结
在本视频中,你学习了以下内容:
- State 是一个 JavaScript 对象,表示组件当前的状态。它允许你创建交互式的组件,并且状态的变化会导致组件重新渲染。
- Props 用于在父组件与子组件之间传递数据,数据流动是单向的。
- State 和 Props 的主要区别:
- State 用于组件内部管理动态数据,而 Props 用于父子组件之间的单向数据传递。
- State 可以修改并且影响组件行为,Props 是不可变的,只能读取。
通过理解 State 和 Props 的不同作用和使用方式,你可以更高效地构建 React 应用。 🚀