해결된 질문
작성
·
387
답변 1
0
안녕하세요. 질문 감사합니다.
해당 강의 7:00 부분을 보시면 mapRef.current.destroy()
를 호출하는 코드가 있습니다. 즉, initializeMap
함수에서 생성된 "map 객체"에 접근하여 destroy를 해야하는 상황입니다. 때문에 initializeMap
함수에서 "map 객체"를 따로 저장해두어야 useEffect 안에서 객체에 접근하여 destroy 할 수 있게 됩니다.
useState
로 객체를 저장할 수도 있겠지만, "map 객체"는 destroy 함수를 실행하기 위해 저장하는 것일 뿐 컴포넌트 렌더링과 관련된 값은 아닙니다. 따라서 useState
대신 useRef
로 값을 저장하는 게 낫습니다. (아래 사진 참고)
리액트 문법과 관련된 부분이라 설명이 충분치 못했던 것 같습니다. 말씀해주셔서 감사합니다! :)