작성
·
242
0
안녕하세요. 강의를 따라서 차근차근 진행해 봤는데,
어느부분이 잘못된 것인지 useCallback이 적용되지 않습니다.
useCallback을 onRemove와 onEdit파일에 적용했는데도 일기 목록을 삭제하면 삭제한 일기 다음 id 부분부터 또 전부 재 랜더링 됩니다. (예를 들어 4번 일기를 삭제하면 5번 부터 19번까지 재 랜더링됩니다)
강의 소스코드를 비교해보려고 했는데 이 강좌부분은 소스코드 링크가 누락되어있는지 보이지가 않네요.. 강의를 2번 3번 돌려봤지만 잘못된 부분이 무엇인지 찾기가 힘들어 질문 남김니다.
해당부분 작성한 전체코드가 업로드된 깃 Repository주소 남깁니다
https://github.com/minsumim/question.git
답변 1
2
안녕하세요
이정환입니다.
https://github.com/minsumim/question/blob/main/src/DiaryList.js
DiaryList.js를 보면 Map메서드를 이용해 일기를 렌더링 할 때 인덱스를 key로 활용하고 계십니다.
강의에서는 dataId 레퍼런스 객체를 생성하여 진행 했었기 때문에 이부분에서 차이가 생깁니다.
일기 하나가 삭제되면 나머지 일기 아이템들의 key값도 다 달라지기 때문에 이런 문제가 발생하는 것 입니다.
아하 키값이 문제였군요 정말 감사합니다 빠르게 답변해주셔서 더더 감사해요 ㅜㅜ 이제 시원한 마음으로 다음강의로 넘어가겠습니다