useCallback 이후에도 rendering이 두 번씩 발생합니다.
436
작성한 질문수 1
선생님 안녕하세요! 강의 정말 잘 듣고 있습니다. 다름이 아니라 제가 강의를 듣고 진행하던 중 문제가 발생하여 여쭤보고자 이렇게 글을 남기게 되었습니다.
현재 저는 chapter 6-12까지 진행하였습니다. 선생님께서는 6-12에서 배운 useCallback을 사용하면 불필요한 re-rendering을 없앨 수 있다고 말씀하셨습니다. 그런데 제 코드에서 실행을 해보니, mount 될 때 rendering이 두 번씩 발생함을 확인할 수 있었습니다.
또한 선생님께서 getData()에서 dataId를 useRef를 이용하여 1~20까지의 숫자를 가질 수 있도록 하셨는데 저의 코드에는 계속 20~40의 id가 입력됩니다.
선생님의 코드와 제 코드를 비교해봤는데도 어떤 부분에서 문제가 발생했는지 모르겠어서 이렇게 질문을 남깁니다.
(참고로 선생님의 sandbox 코드를 제 pc에서 실행시켜봤을 때는 정상적으로 rendering이 한 번만 일어났었습니다.)
저의 코드 주소를 남기겠습니다. 여유가 되시면 한 번 확인해 주시고 어떤 문제가 있었는지 말씀해주시면 정말 감사드리겠습니다!
https://codesandbox.io/embed/reverent-poincare-mrx2gg?fontsize=14&hidenavigation=1&theme=dark
답변 1
1
선생님, 오늘 확인해보니, index.js의 차이 때문에 발생하는 문제였습니다. 강의에서 선생님께서 구성하신 index.js와는 달리 저는
이런 코드를 사용했는데, 이 차이에서 rendering이 두 번 발생하는 문제가 생겼습니다. 그러나 선생님이 주신 코드로 실행을 하면
이런 에러문이 나오는 문제가 발생합니다.
이 문제가 <React.StrictMode>로 인해 발생한다는 것을 확인하고 이를 삭제하고 처리하니, 선생님이 진행하시던 것처럼 나왔습니다. 근데 이렇게 <React.StrictMode>를 삭제하고 코드를 돌려도 되나요? 안전한건가요?
0
안녕하세요 이정환입니다.
React.StictMode는 React 앱의 잠재적인 문제를 감지하기 위해 사용하는 컴포넌트입니다.
따라서 React.StrictMode를 제거하고 사용하셔도 무방합니다.
eslint.config.js 설정 질문입니다.
0
43
2
존재하지 않는 일기 url입력 시 alert이 두 번 떠요
0
45
1
교재(3쇄)와 강의 내용 문의
0
39
2
12.13) 하단 여백 스타일링 관련 질문 드립니다.
0
72
2
에러 질문드립니다
0
68
2
VSCode 설정 문의
0
79
2
PPT 코드 관련 질문
0
52
2
useEffect와 lifecycle문의
0
71
2
프론트엔드 학습 수준 문의
0
85
2
리액트 챕터별 코드에서 eslint 설정파일이 없어요
0
81
2
데이터 로딩중 화면만 계속 나와요!!
0
78
2
퍼블리셔일경우 어느정도 수준까지 강의를 들어야할까요
0
110
2
이후의 커리큘럼 문의
0
132
2
실슬환경 설정에서 save후 console.log 부분이 새로고침이 안되는현상입니다.
0
77
2
최적화 관련 질문있습니다 (useMemo 등)
0
106
3
프로바이더 컴포넌트의 위치는 어떤 기준인가요?
1
98
3
Date 객체에 관련하여 질문드립니다.
0
104
2
리액트 개정판 교재 질문
0
78
2
예제코드가 안나와요!
0
87
2
select a variant 선택에서 javascript와 javascript+react compiler 중 무엇을 선택해야하나요? com
0
138
2
onMouseEnter 관련 문의 드립니다
0
114
3
배열의 렌더링 관련 질문 드립니다.
0
87
2
2:40초 refObj를 콘솔로 출력시 오류가 발생합니다.
0
142
2
TS, 리액트 강의중에 뭘 먼저 수강하는게 좋을까요?
0
163
2





