inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

11.3) Context 분리하기

useCallback이 적용되지 않습니다..

315

토르테

작성한 질문수 4

0

안녕하세요. 강의를 따라서 차근차근 진행해 봤는데,

어느부분이 잘못된 것인지 useCallback이 적용되지 않습니다.

useCallback을 onRemove와 onEdit파일에 적용했는데도 일기 목록을 삭제하면 삭제한 일기 다음 id 부분부터 또 전부 재 랜더링 됩니다. (예를 들어 4번 일기를 삭제하면 5번 부터 19번까지 재 랜더링됩니다)

강의 소스코드를 비교해보려고 했는데 이 강좌부분은 소스코드 링크가 누락되어있는지 보이지가 않네요.. 강의를 2번 3번 돌려봤지만 잘못된 부분이 무엇인지 찾기가 힘들어 질문 남김니다.

해당부분 작성한 전체코드가 업로드된 깃 Repository주소 남깁니다

https://github.com/minsumim/question.git

 

react javascript nodejs

답변 1

2

이정환 Winterlood

안녕하세요

이정환입니다.

 

https://github.com/minsumim/question/blob/main/src/DiaryList.js

DiaryList.js를 보면 Map메서드를 이용해 일기를 렌더링 할 때 인덱스를 key로 활용하고 계십니다.

강의에서는 dataId 레퍼런스 객체를 생성하여 진행 했었기 때문에 이부분에서 차이가 생깁니다.

일기 하나가 삭제되면 나머지 일기 아이템들의 key값도 다 달라지기 때문에 이런 문제가 발생하는 것 입니다.

0

토르테

아하 키값이 문제였군요 정말 감사합니다 빠르게 답변해주셔서 더더 감사해요 ㅜㅜ 이제 시원한 마음으로 다음강의로 넘어가겠습니다

0

이정환 Winterlood

해결 되셨다니 다행입니다 😃

질문을 해결 상태로 바꿔주시면 감사하겠습니다.

Editor Component의 최적화 불가능 이슈

0

61

2

useCallback ⊂ useMemo

0

51

2

라이브러리 설치 질문

0

59

2

linter 질문

0

64

2

감정일기장 vercel 배포 후 새로 고침 시 404페이지가 뜨는 이유

0

63

2

Sort 메서드 관련 아티클

0

65

2

4.1) React.js를 소개합니다 강의를 듣고 궁금한 점이 생겼습니다.

0

57

2

html, body에 적용하는 css 스타일 질문입니다.

0

62

2

eslint.config.js 설정 질문입니다.

0

106

2

존재하지 않는 일기 url입력 시 alert이 두 번 떠요

0

74

1

교재(3쇄)와 강의 내용 문의

0

77

2

12.13) 하단 여백 스타일링 관련 질문 드립니다.

0

104

2

에러 질문드립니다

0

124

2

VSCode 설정 문의

0

153

2

PPT 코드 관련 질문

0

77

2

useEffect와 lifecycle문의

0

98

2

프론트엔드 학습 수준 문의

0

114

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

119

2

데이터 로딩중 화면만 계속 나와요!!

0

110

2

퍼블리셔일경우 어느정도 수준까지 강의를 들어야할까요

0

144

2

이후의 커리큘럼 문의

0

162

2

실슬환경 설정에서 save후 console.log 부분이 새로고침이 안되는현상입니다.

0

128

2

최적화 관련 질문있습니다 (useMemo 등)

0

146

3

프로바이더 컴포넌트의 위치는 어떤 기준인가요?

1

131

3