@CasePathable
-
[포케덱스] - TCA의 Action을 관리해보자(feat. @CasePathable)프로젝트/포케덱스 2025. 8. 18. 20:18
기존에 포케덱스는 MVVM 아키텍쳐로 구현되어 있었다.하지만 최근에 SwiftUI+MVVM의 사용은 그닥 효율적이지 못하다는 글을 보고 나도 생각에 잠겼다.이유는 이해를 했다. 애초에 ViewModel은 View와 데이터를 바인딩하기 위해 존재하는 것이지만 SwiftUI는 @State 등의 프로퍼티 래퍼가 있기 때문에 ViewModel이 존재할 필요가 없다. 그래서 비즈니스 로직과 사이드 이펙트를 단방향 흐름을 준수하며 어떤 아키텍쳐를 준수할 수 있을까 고민하던 중 SwiftUI와 잘 맞는다는 TCA를 이용해 리펙토링을 새로 해보기로 다짐했다. TCA사용에 대한 회고는 나중에 포스팅할 것이다. 오늘은 TCA의 내용 중 Action에 대한 내용에 대해 다뤄볼 것이다. 위의 코드를 보자 Action이라고 정..