[#569] TodoManageView에 TCA를 적용한다#587
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Code Review
이번 PR에서는 기존의 TodoManageViewModel을 Composable Architecture(TCA) 기반의 TodoManageFeature로 리팩토링하고 관련 뷰 및 테스트 코드를 추가하였습니다. 리뷰에서는 Reducer 내부에서 UUID()를 직접 호출하여 테스트 결정성이 깨지는 문제를 해결하기 위해 @Dependency(\.uuid) 사용을 권장하였으며, 사용자가 시트를 쓸어내려 닫을 때 변경사항이 유실되는 문제를 방지하기 위해 .interactiveDismissDisabled() 적용을 제안했습니다.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🔗 연관된 이슈
🎯 의도
TodoManageView의 상태 관리 방식을StorePattern기반TodoManageViewModel에서 TCA 기반 feature/store 구조로 전환하기 위함📝 작업 내용
📌 요약
TodoManageView에 TCA 적용TodoManageViewModel제거 및TodoManageFeature추가TodoManageFeatureTests추가1.25.5마이너 범위 허용 형태로 조정🔍 상세
TodoManageFeature.State에preferences,categorySheet,alert상태 구성CategorySheetState를 통해 카테고리 편집 관련 파생 상태와 검증 로직 관리TodoManageView에서StoreOf<TodoManageFeature>를 직접 생성하고 sheet/alert를 TCA presentation API로 연결TodoManageViewModel제거 및HomeViewCoordinator의 view model 생성 코드 제거HomeView에서TodoManageView생성자 변경에 맞춰 호출부 정리TodoManageFeatureTests를 통해 주요 사용자 흐름 검증 추가Project+Packages.swift에서 TCA 버전 제약을 마이너 범위 허용 형태로 조정📸 영상 / 이미지 (Optional)-