복잡한 View를 여러 개의 컴포넌트로 구성하여 표현할 수 있다.
src/components/HelloWorld.jsimport React from "react";
export default function HelloWorld() {
return (
<div>
<h1> Hello, World! </h1>
<p> This is My first React Application</p>
</div>
)
}
App.js

과거 : Props만 전달하고 뷰만 렌더링
현재 : Hook의 등장으로 클래스형 컴포넌트에서만 사용 가능한 side effect 등을 처리 가능, state 사용 가능

과거 : Props 뿐만 아니라 State를 사용해야 하는 경우
현재 : LifeCycle API를 사용해야 하는 경우
CaptionImage 컴포넌트
App.js : 부모 컴포넌트로부터 imgUrl과 caption을 받아 렌더링한다. -> 재사용이 가능하다
this.state={}useState()

1. 생성자가 호출되면 super(props)를 호출해준다.
2.this.state = 객체 (보통 constructor or componentDidMount 함수에서 정의)
3. componentWillUnmount : 컴포넌트가 없어질 때 호출되는 함수
useState() or this.state={ }State 변경 판단은 주소값 비교State는 Props와 다르게 자체적으로 가지고 있는 것.