setState 함수는 Dependency list에 넣어줘야 할까?
useEffect나 useCallback, useMemo 등 각 훅들에 Dependency list에 set함수를 넣어줘야 하는지 갑자기 궁금해짐.
NextJS로 진행하면 아래 두 개의 코드처럼 사용해도 린트가 경고를 안 해준다. 그래서 찾아봤더니
const fn = useCallback(() => {
setState(true);
}, [setState]);
const fn = useCallback(() => {
setState(true);
}, []);
공식문서의 대답
리액트 구버전 공식문서에서 setState는 함수 식별자 ID가 안전하고 리렌더링 되어도 변하지 않는다고 한다.
https://legacy.reactjs.org/docs/hooks-reference.html#usestate
결론
setState 함수는 리렌더링이 되어도 변하질 않으니 Dependency list에 안 넣어줘도 된다.
'프론트엔드 > React' 카테고리의 다른 글
[형을 위한 리액트] 2. JSX (0) | 2024.10.15 |
---|---|
[형을 위한 리액트] 1. 리액트를 왜 쓰는지 (0) | 2024.10.07 |
상태(state) 업데이트의 비밀(batch)🤫 (1) | 2023.06.12 |
CRA없이 리액트(타입스크립트) 프로젝트 생성하기 (0) | 2023.03.12 |
Portals (0) | 2023.03.11 |