July 24, 2019
Event -> (processing) -> Result -> State or Event -> (processing) -> Effect
Events define user actions. These may or may not carry additional data.
Eg: ScreenLoad, FabClick, AddItem
Results are one element of state that persist
They are received by some action and you’d want them to remain present for a while and only disappear on some other event/action. They don’t represent the entire state, they’re usually the result of querying and you’d want to use them to incorporate into the state.
Eg: The result of a query asking for movies. The list of movies is the result. The profile object that’s been loaded from the server/database.
A transitory thing that should happen and then go away. These never go into state, unlike results. The effect is handled directly by whatever does view actions.
Eg: A toast that could be shown when a server request fails. There’s no point putting it in state because it would have to be put and then removed right away.
Eg: Opening a new screen.
This will be updated with “Putting them together”
Have suggestions for a topic I should cover? Send me a dm at @AniketSMK or email me at hello@[firstname][lastname].com
Written by Aniket Kadam - building useful things. Follow me on Twitter