useState ?
- React 사용하다보면 가장 많이 쓰는 상태를 의미하는 메서드
- 항상 선언을 [변수 , set변수] = useState() 형태를 띔
예시 코드
const [member, setMember] = useState(0);
const num = ['1','2','3'];
if(num.length === 3) {
setMember(3)
}
else {
setMember(0)
}
굳이 set ?
위의 코드를 보면 setMember 를 통해 member 는 3의 값을 가지게 되는데 사실 바로 member 에 적용하면 되는데 왜 그러는걸까 ?
기본적으로 react는 set을 통해 변화를 감지하는데 set을 통해 변화를 감지하게 되면 렌더링을 진행하여 화면을 업데이트 시켜준다
직접 member = 3; 이렇게 하게 되면 값 자체는 변수에 들어 갈 수 있지만 react는 변화를 감지하지 못한다 ...
아파트 복도 전등을 직접 키는게 아닌 아파트 센서등을 통해 키는 것 처럼
set을 통해 값의 변화 감지 > 화면 렌더링 (센서등 움직임 감지 > 전등 킴)
결국 직접 값을 넣어주면 센서등이 없기 때문에 전등은 켜지지 않는다
왜 그렇게 만들어졌을까 ?
React의 핵심은 상태(State)에 따른 UI의 변화이므로 상태 변화를 받는 set 을 추가로 선언하는 구조이다
실시간으로 데이터가 변하는 주식화면 같은 경우에서 리액트가 강한 이유 또한 이러한 이유이다
'JavaScript > React' 카테고리의 다른 글
| [React] 화면에 뿌릴 때 map은 되는데 forEach는 안 되는 이유 (0) | 2025.10.08 |
|---|---|
| [React] 상태관리 Redux vs Zustand (ft. 마키마 ? 레제 ? ) (0) | 2025.09.29 |
| [React] 11. useLayoutEffect (ft. Time is running out) (0) | 2025.09.03 |
| [React] 10. Shadow DOM (ft. 영역전개) (4) | 2025.08.04 |
| [React] 9. useMemo (최적화) (2) | 2025.02.21 |