-
카테고리
-
세부 분야
프론트엔드
-
해결 여부
해결됨
useRef 사용이유
23.08.16 10:29 작성 조회수 283
1
강의에 useRef 사용 이유에 대해선 안나오는거 같은데 아래 두 코드는 왜 사용된건지 설명해주실 수 있나요??
const mapRef = useRef<NaverMap | null>(null)
mapRef.current = map
답변을 작성해보세요.
0
박용주
지식공유자2023.08.16
안녕하세요. 질문 감사합니다.
해당 강의 7:00 부분을 보시면 mapRef.current.destroy()
를 호출하는 코드가 있습니다. 즉, initializeMap
함수에서 생성된 "map 객체"에 접근하여 destroy를 해야하는 상황입니다. 때문에 initializeMap
함수에서 "map 객체"를 따로 저장해두어야 useEffect 안에서 객체에 접근하여 destroy 할 수 있게 됩니다.
useState
로 객체를 저장할 수도 있겠지만, "map 객체"는 destroy 함수를 실행하기 위해 저장하는 것일 뿐 컴포넌트 렌더링과 관련된 값은 아닙니다. 따라서 useState
대신 useRef
로 값을 저장하는 게 낫습니다. (아래 사진 참고)
리액트 문법과 관련된 부분이라 설명이 충분치 못했던 것 같습니다. 말씀해주셔서 감사합니다! :)
답변 1