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

yeongi0111님의 프로필 이미지

작성한 질문수

한 입 크기로 잘라먹는 Next.js(15+)

6.5) 에러 핸들링 (error.tsx)

6.5 에러핸들링) startTranstion 질문입니다!

해결된 질문

24.09.01 22:03 작성

·

85

0

안녕하세요, 선생님! 강의를 듣다가 startTransition에 대해 더 찾아봤는데, startTransition()은 우선순위가 낮은 상태 업데이트나 비동기 작업을 처리할 때, 고우선순위 비동기 작업보다 나중에 실행되도록 하는 함수라고 이해했습니다. 그런데, startTransition()이 비동기 작업을 동기적으로 처리하도록 사용된다는 이야기는 찾지 못했습니다. startTransition()을 비동기 작업을 동기적으로 처리하기 위해 사용해도 괜찮은 건가요?

답변 1

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

2024. 09. 02. 13:23

안녕하세요 이정환입니다.

기존 설명에 오해의 소지가 있었네요 😢

금일 오전에 즉시 재 녹화 하여 해당부분 영상 교체해 두었습니다. 불편드려 죄송합니다 🙇‍♂

startTransition은 엄밀히 말하자면 말씀해주신대로 작업을 우선순위가 낮은 Transition 단위로 묶어주는 역할을 합니다. 그리고 이렇게 Transition 단위로 묶여진 작업(즉 콜백함수 안에 들어있는 작업)들은 일괄적으로 UI를 렌더링 시키게 됩니다.

따라서 startTransition 함수 내부에 router.refresh 메서드와 reset 메서드를 함께 사용해주면 이 두 함수의 결과가 일괄적으로 화면에 반영되기 때문에 오류가 정상적으로 해결됩니다.

yeongi0111님의 프로필 이미지
yeongi0111
질문자

2024. 09. 02. 18:25

감사합니다!