Views can't be completely stateless because they interact with the DOM, and the DOM elements associated with a view will always have a state. However, we can take steps to treat views as stateless entities within the context of our Flux architecture. In this section, we'll address two aspects of stateless views.
First, we'll go over the idea that all state in a Flux architecture belongs in a store, including any UI state that we might be tempted to keep in our view components. Second, we'll look at DOM querying and why we want to avoid doing this from within our Flux views.
As you learned in the previous chapter, UI state is just like state that's derived from application data—it all belongs in a store. UI state includes things such as the disabled
property of a button or the name of a class that's applied to a div
. The reason these bits of state belong in a store is that other stores might depend on them. This in turn affects the rendering...