Action
が送られる。Action
はmutate()
によってAPI通信などの副作用を経てMutation
に変換される。Mutation
はreduce()
によって現在の`Stateを変化させる。State
のストリームを監視してUIを変化させる。 といった単方向のデータフローを持ちます。event
とerror
は、ReactorKitにはない概念です。event
はワンタイムなイベントが流れてくるストリームです。Reactor内からpublish()
することでストリームにイベントが流れます。 例えば、登録フローのように登録API成功後に画面遷移を伴う場合、Reactorから完了のイベントを放出してUI側で画面遷移を行うときなどに使います。 段階的な導入をする上で、ナビゲーションは共通ロジックでは所持しない方針にしたため、UI側へイベントを投げて遷移させるためにこのようなストリームを作りました。error
はその名の通りReactor内部でハンドリングされたエラーが流れてくるストリームです。Reactor内からerror()
することでストリームにエラーが流れます。 通信エラーのようにハンドリング可能なエラーを放出して、UI側でエラーを表示するときなどに使います。