While it's nice to be able to explicitly control the dependencies of our stores using waitFor()
, views don't have such luxuries. In this section, we'll look at the order in which our views render UI elements. First, we'll look at the role stores have to play in the order of view updates. Then, we'll go over the cases where view order actually affects the user experience versus those where the ordering doesn't matter.
The order in which actions are dispatched to stores matters. When a store transforms its state, it also notifies any views listening to the store. This means that if one view is listening to a store that was registered with the dispatcher first, this view will be rendered before any other views. The idea is illustrated here:
As you can see, the order of the store callback functions within the dispatcher clearly impacts the rendering order of views. Store dependencies can also impact the order of view rendering. For example, if store A...