
下面我将通过代码示例来说明React中状态(State)和属性(Props)的区别。
State 是组件内部管理的数据,组件可以自行修改它;而 Props 是从父组件传递给子组件的数据,子组件不能修改它,是只读的。
import React, { useState } from 'react';
// 子组件 - 使用Props
function UserGreeting(props) {
// 子组件不能修改props,下面这行代码会报错
// props.name = "New Name";
return <h2>Hello, {props.name}!</h2>;
}
// 父组件 - 使用State和Props
function UserProfile() {
// 这是State - 组件内部管理的数据
const [age, setAge] = useState(25);
// 这是父组件中的数据,可以通过Props传递给子组件
const userName = "John Doe";
// 可以修改State
const handleAgeIncrement = () => {
setAge(prevAge => prevAge + 1);
};
return (
<div>
{/* 将数据通过Props传递给子组件 */}
<UserGreeting name={userName} />
<p>Age: {age}</p>
{/* 点击按钮修改State */}
<button onClick={handleAgeIncrement}>Increase Age</button>
</div>
);
}
export default UserProfile;在这个例子中:
age 是 UserProfile 组件的状态setAge 函数修改它name 是从 UserProfile 传递给 UserGreeting 的属性UserGreeting 只能读取 props.name 但不能修改它简单来说,State 是"私有"的、可修改的数据,而 Props 是"外来"的、只读的数据。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。