Reactive UI

Proxy로 상태 변경을 감지하고 화면 갱신하기

상태 객체 앞에 Proxy를 두면 set 트랩에서 Reflect.set으로 기본 할당을 보존하고, 변경 로그와 렌더 예약을 한 곳에 모을 수 있다.

상태 변경 감지 흐름

Proxy + Reflect
state.count++

사용자 동작

클릭이나 입력이 상태 객체의 프로퍼티 쓰기를 발생시킨다.

set

트랩 진입

Proxy 핸들러가 어떤 키가 어떤 값으로 바뀌는지 먼저 본다.

Reflect

기본 할당

Reflect.set으로 원래 객체 연산과 반환 규칙을 유지한다.

queue

렌더 예약

변경이 성공했을 때만 다음 프레임의 DOM 갱신을 준비한다.

DevTools

변경 추적

로그와 브레이크포인트로 어떤 상태가 화면을 바꿨는지 확인한다.

action trap Reflect queue render
정리

Proxy는 상태 변경을 관찰하는 입구이고, Reflect는 그 안에서 원래 객체 동작을 안전하게 보존하는 기준점이다.