Composable Architecture

Reducer


View

Store

struct ContentView: View {
  let store: Store<CounterFeature.State, CounterFeature.Action>
  // 축약형
  let store: StoreOf<CounterFeature>
  …
}

WithViewStore

var body: some View {
  WithViewStore(
    self.store,
    observe: (CounterFeature.State) -> ViewState
  ) { viewStore in
    Form {
      …
    }
  }
}

🔥 17부터는 observable 사용하여 ViewStore없이 타게팅을 단순화할 수 있을 것


View의 초기화