낙관적 업데이트

lionloopy·2026년 1월 5일

오늘의 공부

목록 보기
8/23
post-thumbnail

낙관적 업데이트란?

: 서버로 보낸 요청이 정상적일 것이라고 예상하고,
클라이언트의 요청에 대한 응답이 오기 전에 클라이언트의 데이터를 미리 변경시키는 작업이다.
-> 사용자의 경험 향상을 위함

상황

예) 장바구니 상품 추가를 위해 POST 요청을 보내고, 이에 대한 응답이 오기까지 지연이 발생한다면?
-> 사용자는 지연을 기다렸다가, 지연이 끝난 뒤에야 해당 상품이 장바구니에 담긴 것을 볼 수 있다.

💡 서버와의 통신과 상관없이, 화면(또는 UI) 먼저 바꿔줄 수는 없을까?

-> 사용자는 장바구니 아이콘을 누른 순간 즉시 '아 장바구니에 상품이 추가되었구나!'라고 느끼게 된다.

방식

  1. 사용자의 동작 (장바구니 담기 버튼 클릭)
  2. 서버의 응답 전 UI를 업데이트함
  3. 서버에 해당 변경사항 요청 / 응답 기다림
  4. 서버 응답 실패 시 롤백

언제 필요할까?

  • GOOD
    - 기존의 데이터에 업데이트가 필요할 때
    • 즉각적인 피드백을 화면에 띄워야 할 때
    • 좋아요, 즐겨찾기, 북마크
  • BAD
    - 서버 데이터와 화면의 상태 간 일관성이 중요한 경우
    • 결제나 계좌 정보 관리 등의 기능 (일정 시간의 지연이 필연적이고, 사용자는 이를 인지하고 있는 대표적인 상황)

참고

https://tecoble.techcourse.co.kr/post/2023-08-15-how-to-improve-ux-with-optimistic-update/

profile
기록은 담백하게, 성장은 빠르게! 🐘

0개의 댓글