정의:
Props는 부모 컴포넌트가 자식 컴포넌트에게 전달하는 데이터(속성)입니다.
컴포넌트 간 데이터 전달:
React 애플리케이션에서 상위(부모) 컴포넌트가 데이터(예: title
, userInfo
등)를 하위(자식) 컴포넌트로 전달할 때 props를 사용합니다.
불변(Immutable):
자식 컴포넌트는 받은 props를 수정할 수 없으며, 오직 렌더링 용도로만 활용할 수 있습니다. 데이터 변경은 보통 상위 컴포넌트나 전역 상태(상태관리 라이브러리)에서 일어납니다.
// Parent.tsx
import React, { useState } from "react";
import Child from "./Child";
const Parent = () => {
const [name, setName] = useState("Alice");
return (
<div>
<Child userName={name} />
<button onClick={() => setName("Bob")}>Change Name</button>
</div>
);
};
export default Parent;
// Child.tsx
import React from "react";
const Child = ({ userName }) => {
return <h2>안녕하세요, {userName}님!</h2>;
};
export default Child;
Parent
컴포넌트에서 name
상태값을 가지고 있고, 이를 Child
컴포넌트의 props로 전달합니다.Child
내부에서는 props.userName
을 읽어 화면에 렌더링하며, props를 변경할 수는 없습니다.정의:
State는 컴포넌트 내부에서 관리되는, 변경 가능한 데이터(상태)를 의미합니다.
setState
또는 useState
를 통해 값을 업데이트 할 수 있습니다.useState
, useReducer
등을 통해 업데이트 가능