해결된 질문
작성
·
168
0
강의 진행 도중 ContextProvider 에 전달할 memoizedDispatches 를 선언하는 도중 useMemo 의 2번째 인자를 뺐더니, DiaryItem 내용을 수정해도 수정사항이 화면에 렌더링되지 않고 수정 전의 내용이 그대로 출력되었습니다.
2번째 인자를 빈 배열로 넣어주면 정상적으로 동작하는 것은 확인했고, 구글링해봐도 useMemo(()=>{}) 이렇게 사용하는 건 올바른 리액트 구문이 아니다 라고만 나오는데
왜 수정사항이 반영되지 않는 것인지 궁금합니다.
답변 1
0
안녕하세요 이정환입니다.
강의중 설명드렸듯 useMemo Hook의 두번째 인수로 전달되는 배열은 필수적입니다.
만약 까먹고 전달하지 않으신다면
useMemo는 아무런 일도 하지 않게 되므로 State의 변경에 대응하지 않습니다.
따라서 수정 사항도 반영되지 않을 겁니다.