-시간과 걸음 수 측정하는 전형적인 만보기앱을 만든다면, useRef를 써야하는 변수는 무엇일까요?
-ref로 관리해야할 변수를 예상해보고, 자신의 이유를 합리적으로 설명해보세요.
-서비스를 어느정도 가정해봐도 된다. (예시: 유저는 만보기앱을 자기전 화면에서 한번만 본다고 가정한다.)
수업 내용에 따르면 useRef는 렌더링 시에도 특정 값이 초기화 되거나 변하지 않아야 할 때 사용할 수 있다.
그 밖에 리액트 앱에서 DOM 요소에 직접 접근할 때 많이 사용하는 모양이지만, 이 경우에는 첫번째 용도에 집중하면 될 듯 하다.
만보기는 사용자 걸음의 수에 따라 걸음 수가 증가해야 하는 구조다.
여기에 시간을 측정하는 기능을 추가한다고 했을 때.
결과적으로 관리해야 하는 데이터의 종류는 두개가 된다, 걸음 수와 앱 (혹은 디바이스)의 가동 시간
둘 모두 일반적인 리액트 앱의 state 로 관리하기에는 리렌더링 시에 초기화 되므로 사용할 수 없다.
또한 사용자가 언제 앱 (혹은 디바이스)를 렌더링 하여 값을 확인할지 모르는 상황에서 데이터가 바뀔때마다 리렌더링을 한다는 것은 불필요한 계산이 된다.
그래서 생각한 정답은 두 데이터 모두 useRef로 관리해야 한다는 것.