React 19와 React Native New Architecture에 대해서 공부를 진행하려고 하다가 useTransition이 눈에 들어왔다. React 18에서 나온 녀석인데 당시에 크게 와닿지 않는 기능이고 활용도가 잘 이해가 되지 않아서 넘겼는데 지속적으로 눈에 밟혀서 조금 깊게 들여다 보기로 했다.
useTransition은 React 18에 도입된 hooks로, 비동기 업데이트와 로딩 상태 동안의 사용자 경험을 관리할 수 있게 해준다. 말이 조금 와닿지 않는데, 예를 들어서 설명해 보겠습니다.
문제상황
useTransition 활용
위에서 설명했듯이 useTransistion은 state 업데이트를 중요한 것과 중요하지 않은 것으로 구분할 수 있게 해준다. 중요하지 않은 업데이트는 다른 업데이트와 병렬로 처리되지만, 이로 인한 랜더링은 다른 업데이트가 완료된 후에 이루어진다.
useTransition hook을 사용하면 [isPending, startTransition]이라는 두 개의 값을 반환한다.
const [isPending, startTransition] = useTransition();