What is the equivalent of ActivityActions.setData() ...?

Question on behalf of @sebastian-long-chasm

What is the equivalent of ActivityActions.setData() if I only want to update a single DataHolder in my activity?
ActivityActions.addDataHolder can only be executed if the DataHolder does not exist yet… and ActivityActions.setDataByDescriptor does not allow me to set/change the loadingState of the DataHolder.

Answer on behalf of @erik-radiant-gorge

You can update a single data holder incl. its loading state with a DataReducer.

You can find the documentation here

Thanks, but a reducer is not the spot, where I would perform async loading operations…
So I guess I would have to
1. Dispatch an (Non Activity-) Action from the trigger (View)
2. Create a Saga listening to that Action and load the data there
3. Dispatch a DataReducerAction from there containing the data loaded
4. Reducing it in the DataReducer to provide it to the DataHolder already handled in the Activity

Or am I getting the concept of DataReducers in collaboration with Activities wrong?

Answer on behalf of @erik-radiant-gorge

Async loading operations are what DataLoaders and DataProvider were designed for.
If you want to update a non-default data holder, you would have to implement a DataProvider.

Then:
You can dispatch a loadData activity action for the activity that you want to update.
Your implementation of canHandle must filter out the data holder that you want to update.
Your implementation of provideData must do the async loading operation and update the activity. This update could be implemented as you described in steps 3 & 4