Notice
Recent Posts
Recent Comments
Link
05-05 20:17
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 우리FIS아카데미 #
- 우리에프아이에스 #
- AWS
- 클라우드 서비스 개발
- HTTP
- 우리FISA #
- mysql
- spring
- route 53
- 우리에프아이에스
- springboot
- K-디지털트레이닝
- 리눅스
- 맥OS
- Java
- 맥
- 클라우드 서비스 개발 #
- 우리FISA
- jdk
- 로드밸런스
- 글로벌소프트웨어캠퍼스
- https
- 도메인
- Gradle
- dbeaver
- sts
- M2
- 맥북
- 우리FIS아카데미
Archives
- Today
- Total
<<개발일지>>
Too many re-renders. React limits the number of renders to prevent an infinite loop. 에러 본문
JavaScript, TS
Too many re-renders. React limits the number of renders to prevent an infinite loop. 에러
개발하는지호 2024. 4. 21. 17:46Too many re-renders.에러
관리자 페이지를 만들다가 만난 문제를 해결하다가 오랜만에 발견한 에러였다 !!
이 코드를 보면 onClick = {forUpdateModal(user)} 로 작성을 했다. 나는 user이라는 객체를 매개변수로 담고 실행시키고 싶었다. 그렇기 때문에 저렇게 하면 되겠지 ~ 라고 했는데
이러한 오류가 나면서 rendering이 무한 반복이 되고 있다라며 에러 설명글이 있었다.
처음에 이걸 보는 순간 아차 싶었다..!! 과거 자바스크립트를 배울 당시 onClick ={콜백함수}를 해줘야 한다는 강사님의 말이 기억났다.
그래서 바로 그렇게 바꿨더니
오류 없이 정상적으로 작동이 되었다.
원인을 파악해 보면
일일반 함수를 넣을 경우 랜더링 되는 과정에서 그 함수가 바로 호출이 되어 버린다. 나는 onClick 즉, 클릭 했을 때 작동해야 할 함수가 곧바로 나의 의지 상관없이 실행되는 것이다. 그러면서 값이 만약에 달라지게 되면 무한랜더링이 발생하는 문제까지 발생하게 된다.
이렇게 onClick의 기능을 제대로 하지 못할 뿐 더러 무한 랜더링이라는 잠재적인 오류도 있기 때문에
React에서는 이러한 구문 자체를 막아 놓았다.
이를 해결하고자 onClick={콜백함수} 를 적용함으로써, 내가 클릭시에 작동 될 수 있도록 한 것이다.
'JavaScript, TS' 카테고리의 다른 글
axios vs fetch (2) | 2024.04.13 |
---|---|
relative absolute fixed -정리중- (4) | 2024.04.08 |
JS 자동정렬 설정하기 (5) | 2024.04.08 |
Content-Type 헤더 (0) | 2024.01.24 |
JS Basic Syntax(객체) (0) | 2023.12.22 |