This is a good question, and it is addressed differently even between different Flux implementations.
I prefer to have my state in one high-level component that sees a "big picrure" and distributes the data using the details for all low-level ones. In a good React application, most components do not have to "care" about where the data comes from. Having one good structured model instead of several fragmented ones is also useful so far. (By the way, this can be achieved even when using several stores, a high-level component can listen to them all and actually “hold” this large model).
As far as actions are concerned, I prefer all of my "dumb" visualization components / ui / display to work with callback details. Thus, they are easier to reuse, and this is a good separation of problems. In richer components that contain a bit of business logic, I invoke Reflux actions directly. Usually they are also container components for the aforementioned “dumb” ui controllers.
So, the bottom line is that the data should come as fast as possible, actions can be launched from the bottom components, but always check if you can achieve the same result using the callback details.
To your question, the toolbar is a complex component to have its own toolbar and name them directly. But the Content component must definitely get its data from above. It also makes it easier to reason about data flow in this way when an application becomes complex.
Hope this helps. The whole Flux thing is still in development ...
source share