-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor/#182-B: 회의록 선택시 불필요한 리렌더링 방지 #184
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍🏻
리렌더링 발생하는 원인은 context인데 자료 찾아보니 selectedMom / setSelectedMom 분리하거나 useMemo 사용하면 되는 것 같아요..? 문제 분석
이 댓글이 정리 잘해놨어요 🙋🏻♀️ 근데 시도해본거 1 dep arr에 momList 넣어도 리렌더링 계속 발생하는건가요 ..?? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
짧은 PR 좋아요
제가 이해한바로는 const { /** selectedMom , */ setSelectedMom } = useSelectedMom();
그래서 Sidebar에서 useSelectedMom을 호출해서 context 값을 읽고, MomList에 props로 내려주면 MomList의 memoization은 성공적으로 돼요! memoization을 위해서 parent에서 props를 내려주고 있는데 이렇게 되면 context를 사용하는 이유가 사라진 느낌이에요 ㅋㅋㅋㅋ... ㅜㅜ 이 부분에 대해서 조금 더 공부해서 확실한 증거를 가져 올게요. |
🤠 개요
💫 설명
memoization
해줬습니다.🌜 고민거리 (Optional)
Q. MomList 는 클릭할때마다 계속 리렌더링이 돼요.(해결 - 4번이랑 댓글 확인해주세요.)devtool로 확인해보면 계속 하이라이팅이 되고 있어요. 아무리 memo하고 별짓 다 해봐도 계속 그래요.
눈물나요. 무지성 memo 하고 있었는데 이 부분 제대로 공부해볼래요...
💇 시도해본거
useMemo
로 감싸기"re-render"
가 콘솔에 찍히고, 클릭할 땐'mom-list"
만 찍혀요.2022-12-01.8.03.06.mov
(1)이랑 똑같이 순서가 뒤죽박죽이에요. 리렌더링이 계속 일어나요.2022-12-01.10.13.49.mov
📷 스크린샷 (Optional)
Header
,MemberList
,Confbar
는 리렌더링이 일어나지 않아요!2022-12-01.7.49.20.mov
2022-12-01.10.13.49.mov