Search
Duplicate
🌩️

상태 변화를 일으키는 모든 동작: Action

Created
2024/02/17 14:59
Tags

 상태 변화를 일으키는 모든 동작: Action

Action 은 디바이스와 사용자 인터랙션을 받아오기 위한 타입이다.
struct CounterFeature: Reducer { struct State: Equatable { var count = 0 } enum Action: Equatable { // 숫자 증감버튼들을 탭할 때의 상황 case incrementButtonTapped case decrementButtonTapped } var body: some ReducerOf<Self> { /* code */ } }
Swift
복사
이런 직관적인 동작 뿐만 아니라, 알림 창을 닫거나 APi의 request를 받는다든지, 타이머를 작동시킨다든지 하는 복잡한 행동들도 Action 에 추가할 수 있다.
이렇게 받아온 Action 들은 사용자가 디바이스와 상호작용할 때 일종의 신호를 받아온다.
그리고 그렇게 ActionReducerState 를 변경하거나 외부와 통신할 수 있는 Effect 를 반환시키도록 트리거를 한다.

Action 네이밍 컨벤션

Action의 이름을 지을 때는 Reducer가 실행할 로직이 아니라, 사용자가 UI에서 수행한 작업의 이름을 그대로 따서 짓는다.
ex) incrementButtonTapped, decrementButtonTapped