일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 개발/OOP
- 대외활동/카카오테크캠퍼스
- electron
- 카카오테크캠퍼스
- 개발/환경
- 개발/CS/OS
- 개발/보안
- 카테캠
- ⌨️Developer/보안
- 개발/CS/알고리즘
- 개발/Java
- 개발/에러
- 개발/Electron
- ai
- 카카오 테크 캠퍼스
- 취업
- AI/ML
- 개발/네트워크
- 개발/Java/Spring
- 개발/언어/Java
- 개발/Tools/프레임워크/Spring
- 개발/언어론
- 알고리즘
- 개발/MySQL
- ⌨️Developer
- 개발
- 개발/프레임워크&라이브러리
- AI/GPT
- 개발/컴퓨터네트워크
- 개발/webrtc
Archives
- Today
- Total
봄수의 연구실
React Error Rendered more hooks than during the previous render 본문
DEV/Frontend
React Error Rendered more hooks than during the previous render
berom 2023. 2. 8. 17:20Uncaught Error: Rendered More Hooks Than During the Previous Render.

에러 해결
const { isLoading, isError, data, error } = getCampusListQuery();
useEffect(() => {
campusListFunc();
}, []);
const userListFunc = () => {
if (isLoading) {
//
console.log("isLoading");
return <Loading />;
}
if (isError) {
console.log("isError >> ", error);
return <Error error={isError} />;
}
setUserList(data);
};
바로 해결 코드를 보자. getCampusListQuery()
useQuery로 api로부터 데이터를 긁어오는 함수이다.
useQuery의 경우, 쿼리 처리를 isLoading, isError로 예외처리를 할 수 있다.
나의 경우, 데이터를 긁어올 때 걸리는 지연 때문에 useQuery로 로딩 예외처리를 하고 싶었다
이 때, useEffect 밖에서 예외처리를 했기 때문에 해당 에러가 발생했다
즉 적절한 scope에서 예외처리를 하면 된다. useEffect 함수 내에서 바로 페이지를 return 하지 못하므로, useEffect 내에 campusListfunc()
에 loading 등의 처리를 하면 에러가 발생하지 않는다
728x90
'DEV > Frontend' 카테고리의 다른 글
React 서버에서 잘 보낸 쿠키가 저장 되지 않는다 feat fastify (0) | 2023.02.09 |
---|---|
React state는 뭔가 (0) | 2023.02.08 |
Goolge OAuth2 로그인 구현 with React (0) | 2023.02.03 |
리액트 에러 해결 Warning Each child in a list should have a unique key prop 에러 해결 (0) | 2023.01.13 |
React 왜 쓸까? (0) | 2023.01.12 |