@Environment
는 View 계층을 기준으로 전파되는 시스템TCA
의 핵심은 Reducer
→ State
→ Action
의 독립성 유지Reducer
는 View
와는 무관하게 동작해야 하므로, 자체 의존성 관리 시스템이 필요했음DependencyValues
라는 “Reducer 전용의 환경 값 컨테이너”를 만들었고, 그걸 꺼내 쓰는 래퍼가 @Dependency
@Dependency(\.uuid) var uuid
DependencyValues
라는 전역 컨텍스트에서 uuid 값을 꺼내오는 sugar syntaxReducer
가 실행될 때 EffectContext
를 통해 주입됨context.dependencies.uuid()
가 호출됨⸻