Vue.js provides a good example for working with deep nested objects or tree data structures. But, how about when Vuex is involved?
Fortunately, Evan You (Vue.js' creator) gives us a hint:
...Or, you can use the same flat structure and use ids to reference nested items, and use a Vuex getter in each tree item component to retrieve its children.
So, how do we go about doing that? After a few attempts getting nested objects' reactivity to work, here is what I did.