useState를 사용해야 하는 이유
지역 변수는 렌더링 간에 유지되지 않는다 => 재렌더링 시 지역변수는 초기화된다.
리액트는 지역 변수를 변경되어도 렌더링을 일으키지 않는다. => 지역변수가 변경되어도 컴포넌트를 다시 렌더링해야 한다는 것을 인식하지 못한다.
따라서 컴포넌트를 새로운 데이터로 업데이트하기 위해선 다음 두 가지가 필요합니다.
1. 렌더링 사이에 데이터를 유지해야 한다.
2. 리액트가 데이터 변화를 감지하고 컴포넌트를 다시 렌더링하도록 유발한다.
위 두 가지를 useState 훅이 제공하기 때문에 리액트에서는 let대신 useState를 사용해야 한다.
사용방법
const [index, setIndex] = useState(0);
'프론트엔드 > React' 카테고리의 다른 글
[React] useEffect와 useMemo의 차이점 (0) | 2024.09.17 |
---|---|
[React] 이벤트 핸들러에 함수를 전달하는 방법 (0) | 2024.06.05 |
리액트 모바일 여백 제거 (0) | 2024.02.27 |
[React] EsLint React Hook useEffect has a missing dependency: 'calcSumApplication'. Either include it or remove the dependency array react-hooks/exhaustive-deps 경고 없애기 (0) | 2024.01.23 |
[React] 컴포넌트 props로 함수 전달하기, 다른 컴포넌트 함수 호출하기 (0) | 2024.01.19 |