|
|
|
|
|
by pests
2650 days ago
|
|
My determination is: Do I want this state to survive a page reload, new browser session, or coming from a bookmark? The value in a drop-down box in some random form? Non-global state. The main page active tab that they were probably reading? Global state. Scroll position? Global. Tooltip Position? Probably not useful, non-global. Something like a dialog or modal depends on the situation of how important it was and if the user would expect it to be there. |
|
That makes me see that there isn't a "god" object like the article calls it, that holds all of the app state. There's the root state shared throughout the app, and then each page or component can have its own encapsulated state.
Ideally I like to also keep page- or component-specific state+actions decoupled from their views, functional and testable independently - but often I start/keep them in the component class (and maybe soon hooks).