Hi Sabin, thank you so much for your thorough response; I thought that my long rambling post totally lost and bored people. And yes you pulled the question out of my mouth:
" how do I manage the data flow between async API calls and multiple actions within the states?"
From component to app state, yes. I realize after re-reading your answer a few times, that my initial confusion was due to an assumption about architecture. I had not thought about async actions and was conflating data types with component state, thinking each data type required a state and a corresponding reducer, (i.e. UserState, ItemState for each pizza, InventoryState, OrderState), which is quite superfluous. That dogpiled into an assumption that in order for an action to update multiple states, (instead of async actions like you suggested), that reducers would receive multiple state types as params (Just imagine the state object being returned with mismatching and redundant info!)
I also realize I had not looked into how hooks are referred to in reducers; that should close the loop :D
This is all to say, thank you for walking me through the example with such clarity.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.