의존성배열
1. useEffect(effect) ==> 컴포넌트가 렌더링될 때마다 호출됩니다.
2. useEffect(effect, []) ==> 첫 번째 렌더링 후에만 호출됩니다.
3. useEffect(effect, [userId]) ==> 첫 번째 렌더링 후에 호출되며, 이후에 userId가 변경될 때마다 호출됩니다.
3번에서 userId 라는 값은 항상 렌더링과 관련된 값이어야 합니다.
`렌더링과 관련된 값` 이라는 것은 그 값이 변경되면 컴포넌트가 다시 렌더링 되는지를 보고 알 수 있습니다.
어떤 변수의 값이 변경됐는데 컴포넌트가 다시 렌더링되지 않는다면 그 변수는 deps 배열에 넣을 필요가 없습니다.
결국 `렌더링과 관련된 값` 이라는 것은 컴포넌트 상태값, 속성값 등을 말하는거구요.
전역 변수 등은 `렌더링과 관련된 값` 이 아닙니다.
출처 실전 리액트 프로그래밍
'프론트엔드 > React' 카테고리의 다른 글
현업에서 바로 적용해보는 프론트엔드 클린코드 (0) | 2021.10.28 |
---|---|
리액트 불변성이란 무엇이고, 왜 지켜야 할까? (2) | 2021.06.24 |
리액트에서 cryptoJS 사용하는 법 (0) | 2021.04.15 |
리액트 함수 컴포넌트 10가지 반환값 (0) | 2020.09.19 |
리액트 컴포넌트의 상태값과 속성값 개념을 구분하여 알자 (0) | 2020.09.18 |