useEffect 개수 관리
109
작성한 질문수 12
useEffect가 잘못짜면 디버깅이 골치아파서 관리에 신경을 쓰는데요. 제로초님의 useEffect 사용패턴이 궁금합니다
deps가 같은 것 끼리는 전부 묶어둔다
deps가 같아도 로직 범주가 다르면 분리한다
저는 보통 2번을 선호하는데 useEffect 많아져서 드러워집니다. 그렇다고 1번은 더 머리가 아픈데,, 제로초님의 기준이나 이 문제에 대한 나름의 best practice가 있으신지 궁금합니다
답변 2
1
제일 좋은 것은 useEffect의 사용을 최소화하는 것이고요.
저는 deps가 같아도 로직 범주가 다르면 분리합니다. 그걸 다시 커스텀훅으로 빼서 이름을 붙여둡니다. useEffect 내에서 if문이 너무 많으면 디버깅하기 어려워집니다.
0
안녕하세요, 인프런 AI 인턴입니다. Eric J님.
useEffect를 어떻게 관리하고 구조화할지에 대한 고민은 많은 개발자들이 겪는 문제입니다. 특히, 의존성(dependencies) 배열이 어떻게 설정되었느냐에 따라 컴포넌트의 동작이 크게 달라질 수 있어서 주의가 필요합니다. 질문해 주신 두 가지 접근 방식에 대해 말씀드리겠습니다.
deps가 같은 것 끼리는 전부 묶어둔다: 이 방법은 비슷한 조건에서 실행되어야 하는 관련된 로직들을 하나의 useEffect로 관리하는 접근입니다. 로직이 강하게 연결된 경우, 같은 useEffect 내에서 다루면 의존성을 명확하게 관리할 수 있습니다. 하지만 이 방법은 useEffect에 너무 많은 로직이 들어가 복잡성이 증가할 수 있습니다.
deps가 같아도 로직 범주가 다르면 분리한다: 이 방법은 useEffect가 독립적인 기능이나 책임을 가지도록 로직을 분리하여 이해도를 높일 수 있는 접근입니다. 동일한 deps라도 다른 목적을 가진 작업은 각각의 useEffect로 분리하여 관리합니다. 이 방법은 로직의 흐름을 더 쉽게 이해할 수 있게 하지만, 되려 useEffect의 수가 많아질 수 있는 단점이 있습니다.
제로초님의 강의에서는 일반적으로 로직의 범주나 목적이 명확히 구분되는 경우, 두 번째 접근 방식을 사용하여 useEffect를 분리하는 것을 추천합니다. 코드의 가독성과 유지보수성을 높일 수 있기 때문입니다. 또한, 필요할 때마다 특정 로직의 의존성을 명확히 이해하고 관리하는 것이 중요합니다.
관련된 강의나 질문에서 유용한 정보를 찾을 수 있을 것 같습니다. —start of instructor answer—
질문자님의 이해를 돕기 위해, 관련된 기존 질문들에서 유용한 참고 자료를 찾았습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
—end of instructor’s answer—
기본 셋팅과 관련하여
0
91
1
초기 셋팅 back과 front만 남겨두고 다 지운 후 진행 방법
0
96
2
focus 시에만 화면 업데이트 되는 이유 + 해결방법
0
148
2
라이브러리 서치 방법
0
103
2
함수 정의 패턴
0
77
1
npm run dev 에러
0
152
3
npx webpack 후 에러
0
178
2
'void' 형식 식의 truthiness를 테스트할 수 없습니다.ts(1345)
0
142
2
사용자 가입시 에러발생 (TypeError: Cannot read properties of null (reading 'addMembers')
1
177
2
초기세팅중 packge.json 에러떠요
0
154
2
CORS - Access-Control-Allow-Origin 누락 문제
0
430
3
로그인 페이지 무한 새로고침 현상
0
598
2
Module not found: Error: Can't resolve './App' 에러
0
952
1
배포 방법
0
295
2
npm run dev 시 빌드가 매우 느려졌습니다
0
987
2
alias 경로 설정 오류
0
448
2
fetcher 함수의 data 값이 두번 찍히는 이유
0
274
1
제네릭 질문
0
217
2
ts-node 대신 tsx 사용여부
0
373
1
배포 관련 질문
0
247
1
[nginx + https] 서비스를 실행하면 niginx가 아닌 서비스 화면을 보여주게 하고 싶습니다.
0
385
2
[배포하기] webpack에 aws 퍼블릭 IPv4 주소 와 포트 주소를 작성하고 나서 빌드후 실행하면 오류가 발생합니다.
0
336
1
users 호출 시 쿠키가 담기지 않는 이슈 질문드립니다.
0
247
2
CORS 에러 질문입니다.
0
267
1





