인프런 커뮤니티 질문&답변
useCallback
작성
·
250
0
안녕하세요!!!
일기를 삭제할 때 다른 일기들이 리렌더 되지 않기 위해 useCallback을 사용한다. 라고 이해했습니다.
그러면 App.js에 onRemove에만 useCallback을 하면 되는 거 아닌가요?
왜 onEdit에도 useCallback을 해야할까요?
onEdit은 일기 수정이니 onRemove만 useCallback한 후 일기 삭제하면 리렌더링이 안되야하는거아닌가요???
(둘 중 하나만 하면 전체 일기가 리렌더링 되었습니다...)
답변 1
0
이정환 Winterlood
지식공유자
안녕하세요 이정환입니다.
일기를 삭제하면 App 컴포넌트의 state가 변화되어
App컴포넌트 내부에 작성된 함수 모두 다시 생성됩니다.
따라서 onRemove외의 onEdit, onCreate모두 useCallback으로 재 생성되지 않도록 해야 최적화를 수행할 수 있습니다.




