멋쟁이 사자처럼 프론트엔드 스쿨 플러스 1기 3주차 2일 Writing Subject

안승지·2023년 11월 8일
0
post-thumbnail

Writing Subject :

-시간과 걸음 수 측정하는 전형적인 만보기앱을 만든다면, useRef를 써야하는 변수는 무엇일까요?
-ref로 관리해야할 변수를 예상해보고, 자신의 이유를 합리적으로 설명해보세요.
-서비스를 어느정도 가정해봐도 된다. (예시: 유저는 만보기앱을 자기전 화면에서 한번만 본다고 가정한다.)

useRef

수업 내용에 따르면 useRef는 렌더링 시에도 특정 값이 초기화 되거나 변하지 않아야 할 때 사용할 수 있다.

그 밖에 리액트 앱에서 DOM 요소에 직접 접근할 때 많이 사용하는 모양이지만, 이 경우에는 첫번째 용도에 집중하면 될 듯 하다.

pedometer + timer

만보기는 사용자 걸음의 수에 따라 걸음 수가 증가해야 하는 구조다.

여기에 시간을 측정하는 기능을 추가한다고 했을 때.

결과적으로 관리해야 하는 데이터의 종류는 두개가 된다, 걸음 수와 앱 (혹은 디바이스)의 가동 시간

둘 모두 일반적인 리액트 앱의 state 로 관리하기에는 리렌더링 시에 초기화 되므로 사용할 수 없다.

또한 사용자가 언제 앱 (혹은 디바이스)를 렌더링 하여 값을 확인할지 모르는 상황에서 데이터가 바뀔때마다 리렌더링을 한다는 것은 불필요한 계산이 된다.

그래서 생각한 정답은 두 데이터 모두 useRef로 관리해야 한다는 것.

0개의 댓글