Frontend/React

[React] Too many re-renders. React limits the number of renders to prevent an infinite loop. 에러 해결

2023. 11. 11. 18:00·Frontend/React

 

React 프로젝트 환경 구축 후, 로그인 페이지 만드는 과정에서 마주친 오류 해결 일기:)

 

우와! 난리가 났다!

 

Too many re-renders. React limits the number of renders to prevent an infinite loop.

영어를 그대로 해석하면 알 수 있듯, 리렌더링이 무한으로 계속 돌면서 발생하다보니 React에서 터뜨려버린 에러이다.

 


에러 원인

\

setState를 잘못 사용했다.

App.js 컴포넌트에서 조건문이나, 이벤트 핸들러 없이 바로 냅다 그냥 호출해버렸더니...

컴포넌트가 렌더링될 때마다 state가 set 되면서 무한 루프에 빠져버린 것...

 

 

에러 해결

 

useEffect안에 setState를 넣어주면, 렌더링 후 한번 실행이 된다!

짜잔! 이렇게 잘 렌더링 돼서 출력되는 것을 볼 수 있다 ㅎㅎ

 

 


참고할 개념

React Component 의 리렌더링 조건

  • 부모가 리렌더링되면, 자식도 리렌더링 됨
  • 자식 컴포넌트의 props나 state 변동사항은 무관

 

참고 문서 :  https://velog.io/@mogulist/understanding-react-rerender-easily

저작자표시 (새창열림)

'Frontend > React' 카테고리의 다른 글

[React] 컴포넌트에 대한 고찰  (1) 2024.12.18
[React] 프로젝트 구동 방식  (0) 2024.12.17
[Vite] React + TypeScript 기반 프로젝트 생성하기  (1) 2024.12.15
[React] React와 React Native의 차이 비교  (2) 2024.12.14
[React] digital envelope routines::unsupported (error:0308010C) 오류 해결  (1) 2023.11.10
'Frontend/React' 카테고리의 다른 글
  • [React] 프로젝트 구동 방식
  • [Vite] React + TypeScript 기반 프로젝트 생성하기
  • [React] React와 React Native의 차이 비교
  • [React] digital envelope routines::unsupported (error:0308010C) 오류 해결
sol_git
sol_git
Full-Stack을 꿈꾸는 Junior Developer💖
  • sol_git
    솔깃한 Dev
    sol_git
  • 글쓰기 관리자
  • 전체
    오늘
    어제
    • 분류 전체보기 (40)
      • Frontend (13)
        • Javascript (1)
        • React (9)
        • Vue (1)
        • Svelte (1)
      • Style Sheet (0)
        • Sass (0)
      • Backend (4)
        • Java (3)
        • Python (1)
        • Spring Boot (0)
      • AI (0)
        • LLM (0)
        • Gen AI (0)
      • DevOps (16)
        • Git (16)
        • Kubernetes (0)
      • Cloud (0)
        • AWS (0)
      • DBMS (2)
        • MySQL (1)
        • PostgreSQL (1)
      • IDE & Tools (3)
        • IntelliJ (1)
        • VS Code (1)
        • Tool (1)
      • OS (2)
        • Mac (2)
      • Project 일기 (0)
  • 블로그 메뉴

    • 방명록
  • 링크

    • Github
  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
sol_git
[React] Too many re-renders. React limits the number of renders to prevent an infinite loop. 에러 해결
상단으로

티스토리툴바