inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]

더보기 useEffect, useCallback ESLint 문법 에러 (해결?글)

452

Hyun Jo

작성한 질문수 7

1

더보기 소스코드를 따라하였을 때,

useEffect의 두 번째 인자에 [] 빈 배열을 넣는 경우,

자동으로 사용되는 변수와 함수인 Skip, Limit, getProducts 가 들어가는 현상이 발생합니다.

일단 함수 순서가 강의 내용대로면 getProducts was used before it was definmed 라는 에러가 뜰건데요

이거는 getProducts 함수 밑에 useEffect가 오도록 조정하면 사라집니다

 

그 다음엔, getProducts function makes the dependencies of useEffect Hook ... 대충 이런 오류 메세지가 나오는데 getProducts 를 useCallback로 감싸줍니다 두번째인자에는 [Products] 넣어주세요 어차피 자동으로 넣어지겠지만...

이제 에러 메세지는 다 해결된 상태일 겁니다

 

디버깅을 위해 useEffect에 콘솔을 찍게 해두셨다면 이미 눈치 채셨겠지만

이 상태에서는 useEffect가 계속 호출됩니다

원래 두 번째 인자의 변수들이 변경되면 호출되는 걸로 알고 있는데 왜인지는 모르겠으나... 저는 무식하게 해결했습니다

 

const [firstLoad, setfirstLoad] = useState(true);

    useEffect(()=> {

        if (firstLoad) {

            let body = { skip: Skip, limit: Limit }

            getProducts(body);

            setfirstLoad(false);

        }

    },[Skip, Limit, getProducts, firstLoad]);

 

https://www.inflearn.com/questions/101006/landingpage%EC%9D%98-%EB%8D%94%EB%B3%B4%EA%B8%B0-%EB%B2%84%ED%8A%BC-%EA%B5%AC%ED%98%84-%EC%A4%91-eslint-%EB%AC%B8%EB%B2%95-%EC%97%90%EB%9F%AC-%EC%A7%88%EB%AC%B8%EC%9E%85%EB%8B%88%EB%8B%A4

동일한 질문 내역이 있으나 답변이 없길래 우선 공유해둡니다

useEffect()가 무한호출되는 이유를 아시는 분 있으시면 아무나 댓글 감사합니다

 

 

react nodejs mongodb 웹앱 redux

답변 0

강의 내용은 훌륭하나, 환경 설정 오류 때문에 진도를 나갈 수 없습니다. 20년 버전 강의.

0

61

1

강의자료는 어디서 볼 수있나요??

0

68

1

이 쇼핑몰 만들기 강의는 관리자페이지 만드는건 없나요

0

120

2

웹에서 실시간 코드반영이 안돼요

0

124

1

app.use질문

0

66

1

강사님께 어떻게 직접질문할수있어요??

0

76

1

const함수같은거 기초강의는 어디있나요

0

85

2

리덕스 참조챕터가 어딨어요? 미리듣고오라는데요

0

82

2

강의가완전 오래되서 다 틀리네 app.jsx도 tailwind css 다틀림 무책임함

0

70

1

개발자도구에 redux란이 없어요

0

91

1

npx tailwindcss init -p 에서 계속 에러나요

0

94

1

쇼핑몰기능중 찜하기 기능은 어떻게 구현하나요

0

141

2

강의하다 줌으로 설명가능한지좀 정확히 알려주세요. 이 선생님 정책이 어떻게 되는데요. 직접 연락할 메일이라도 알려주세요

0

44

1

도표 강의 자료 열람 불가능

0

110

1

tailwindcss를 vite에서 이용하는 방식이 바뀐것 같습니다.

0

1140

2

eslint 설정 후 오류가 납니다.

0

224

1

오버로드 오류

0

154

1

VSCode에서 save를 할 때, landingpage의 useEffect가 실행되는 문제에 대하여

0

171

1

dispatch(logoutUser()) 실행시 dispatch(authuser())도 함께 실행되는 문제

0

231

2

logout할 때, server로 요청을 보내서 authUser middleware를 통과하도록 하는 이유?

0

197

1

webkit-text-size-adjust 오류

0

317

1

does not provide an export named 'userReducer'

0

219

2

빌드 배포

0

140

1

삭제 예정 강의는 언제 삭제 되나요? 저것때문에 수강완료를 못하면 회사에서 비용을 청구한다고 합니다~

0

224

2