인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Boom님의 프로필 이미지
Boom

작성한 질문수

실전 리액트 프로그래밍

리액트 내장 훅 살펴보기

상태가 아닌값을 ref에 저장하는 이유가있나요?

해결된 질문

작성

·

193

3

useRef(0) 이렇게 해서 값을 저장 해서 사용하는이유가 궁금 합니다.

컴포넌트 외부에 let변수를 선언 해서 사용하지 않는 이유가 있을까요? 

강의 감사합니다.

답변 1

4

이재승님의 프로필 이미지
이재승
지식공유자

안녕하세요
컴포넌트 외부의 let 변수로 해도 된다면 그렇게 하는 게 좋습니다

인스턴스별로 다른 값을 가져야하는 경우에는 useRef 를 사용합니다
예를 들어, 아래와 같이 JSX 코드를 작성하면

<div>
  
<MyComponent />
  <MyComponent />
</div>

두 개의 MyComponent 인스턴스가 만들어지고, useRef 를 사용했다면 각각 값을 관리할 수 있습니다
컴포넌트 외부의 let 변수로 만들었다면 인스턴스와 무관하게 하나의 값만 갖는거구요
클래스의 멤버 변수와 비슷한 역할이라고 생각할 수 있습니다

Boom님의 프로필 이미지
Boom

작성한 질문수

질문하기