React 컴포넌트 내부에 어떤 값을 관리하고자할 때 사용할 수 있는 방법 3가지를 발견했다. 일반 변수 선언 방식, useState, useRef를 전부 적용해본 과정을 정리해둔다.
useRef는 DOM을 선택하여 값을 추출하는데 주로 사용되는 Hook이지만 컴포넌트 안에서 조회 및 수정 할 수 있는 변수를 관리하기도 용이하다.
최소값 0, 최대값은 5로 가질 수 있는 sequence
라는 변수를 두어 이 값이 0이 되면 눈에 보이는 리스트 중 가장 위 값을 가리키고 있다고 판단하여 스크롤을 위로 이동시키고 값이 5가되면 가장 아래의 값을 가리키고 있다고 판단하여 스크로를 아래로 이동시킨다.
let
을 이용해 변수를 선언하였고 selectedIndex
가 변할 때마다 변수를 증감시킴.
상태를 저장할 때 흔히 사용하는 useState를 이용
const sequence = useRef(5);
useRef를 이용해 변수를 선언한다. sequence.current += 1;
또는 sequence.current -= 1;
를 이용하여 증감시킨 변수는 리렌더링 시에도 초기화되지않고 값을 유지할 수 있다.
.current
참고자료
https://react.vlpt.us/basic/12-variable-with-useRef.html
how-to-scroll-to-an-element-inside-a-div
useRef 사용법