Props는 상위 컴포넌트에서 하위 컴포넌트로 데이터를 전달하는 방식이다.
1️⃣ -2️⃣ 예시
// 상위 컴포넌트 (App.js)
import React from 'react';
import ChildComponent from './ChildComponent';
function App() {
const name = "홍길동";
const location = "서시";
return (
<div className="App">
<ChildComponent name={name} location={location} />
</div>
);
}
export default App;
// 하위 컴포넌트 (ChildComponent.js)
import React from 'react';
function ChildComponent(props) {
return (
<div>
<p>{props.name}은 {props.location}에 거주합니다.</p>
</div>
);
}
export default ChildComponent;
props.name, props.location과 같이 사용할 수 있다.State는 컴포넌트 내부에서 관리되는 변경 가능한 데이터이다.
2️⃣-1️⃣ 예시
import React, { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>
Click me
</button>
</div>
);
}
2️⃣-2️⃣ 예시
import React, { useState } from 'react';
function InputComponent() {
const [inputValue, setInputValue] = useState('');
const handleChange = (event) => {
setInputValue(event.target.value);
};
return (
<div>
<input type="text" value={inputValue} onChange={handleChange} />
<p>입력값: {inputValue}</p>
</div>
);
}
출처
props - 부모 컴포넌트로부터 받는 데이터
state - 컴포넌트 내부에서 관리되는 데이터
변경 가능성
props - 읽기 전용
state - 컴포넌트 내에서 변경 가능
용도
props - 컴포넌트 간 데이터 전달에 사용
state - 컴포넌트의 동적인 데이터를 관리하는 데 사용