of boilerplate code ▸ Some Interactors end up just passing values ▸ Where do I keep the state? Where is the truth? ▸ How do I pass data between modules?
Facebook framework) ▸ Used together with React for the UI ▸ Reduces complexity derived from mixing Mentos and Coke (mutations and asynchronicity) ▸ One global state of the application
▸ Immutability / Functional Programming ▸ Actions are atomic and simple state changes ▸ By having a global state everything else will be (almost) stateless ▸ Only one state to debug
-> AppState { var state = state ?? AppState() switch action { case _ as CounterActionIncrease: state.counter += 1 case _ as CounterActionDecrease: state.counter -= 1 default: break } return state } }