Updating nested table
It's out of scope of my answer—sometimes you want more flexibility, and sometimes you want less boilerplate.
You can check out pagination code in “real world” example reducers for an example of generating similar reducers.
So I had three options to organize addressing object status in cache.
Updating empty map and populating it with objects may create re-allocations in the map, so you need to optimize for it.
Oh, and I used is not), updeep, react-addons-update or something else.
However if you find yourself needing to do deep updates, it probably means your state tree is not flat enough, and that you don't utilize functional composition enough.
As I made the mistake of having a bit of depth in my state, I made this lib to help retrofitting and managing deep state with Redux: https://github.com/baptistemanson/immutable-path Maybe I got it all wrong but I would be interested with your feedback. Mainly, is there are simple way to revert the normalized shape back to the nested shape provided by the remote api after updating?
Indeed, I am suggesting to model these as separate actions.
You can use Redux Thunk middleware to write an action creator that calls them both: How do I go about displaying current Posts similar to the current Plans array of keys?
Even your first example: is not always a good solution.
It recalculates hash of every parent node of state starting from node you changed and that becomes bottleneck in particular cases (this is not very common cases tho).