리액트는 선언적 UI 라이브러리로, 사용자 인터페이스를 효율적으로 구성하고 관리하는데 초점이 맞춰져 있다. 리액트 동작 방식을 이해하라면 핵심 개념인 가상 DOM, 컴포넌트 기반 아키텍처, 단방향 데이터 흐름 등을 알아야 한다.
선언적 UI 라이브러리는 어떤 상태일 때 어떻게 보여야 하는지를 선언하는 방식
으로 개발하는 것을 의미한다.
리액트의 가장 큰 특징 중 하나는 가상 DOM을 사용한다는 것이다. 가상 DOM은 실제 DOM의 가벼운 복사본으로, 리액트는 가상 DOM을 통해 UI 업데이트를 최적화한다.
어떤 상태일 때 UI가 어떻게 보여야 하는지
만 선언하면 된다.리액트는 컴포넌트 단위로 UI를 구성한다. 컴포넌트는 독립적이고 재사용 가능한 UI 조각이다.
useState
, useEffect
등의 훅을 사용해 상태와 생명주기를 관리한다.state
와 생명주기 메서드를 사용해 복잡한 로직을 처리한다.리액트는 데이터가 단방향으로 흐르도록 설계되었다. 이는 데이터의 흐름을 예측 가능하게 하고, 디버깅을 쉽게 만든다.
props
를 자식 컨포넌트로 데이터를 전달한다.function Parent() {
const message = "Hello from Parent";
return <Child message={message} />;
}
function Child({ message }) {
return <p>{message}</p>;
}
function Parent() {
const handleClick = () => {
alert('Button clicked in Child');
};
return <Child onClick={handleClick} />;
}
function Child({ onClick }) {
return <button onClick={onClick}>Click</button>;
}