Flexible State management system based on flux architecture, stores data components & inheritable scopes
React HOCs, decorators & tools : react-scopes
ReScope HOCs, decorators & tools : rescope-spells
ReScope is a flexible, effective and easy to use state management system inspired by ReactJS methods.
The set of data transformations of one or more applications can be divided into reusable data components with reactive state and result data.
Just like React Components, for data.
Of course, that's quickly said, in an application, the data must deal with complex dependencies, different contexts, custom data bindings, and so on.
This is where reScope comes in:
RS provide a effective, flexible and familiar structure to organize and synchronize your data components.
It manage theirs dependencies, theirs scopes, sequencing, persistence, active instances & much more.
This way all the data components :
- Only use 1 file for theirs initial state, actions & mutations
- Only care about theirs specialized task
- Can be easily & independently tested
- Can have different behaviors basing on theirs scope
By using independent, specialized & serializable "Data Stores" in a Flux oriented architecture.
ReScope stores look like "React components for data".
Basically, they render determined data according theirs entry state, theirs dependencies, and theirs action.
Actions generate mutations of one or multiple stores,
So each Stores can manage part of, or the entire App state's determining values,
maintain intermediate, possibly asynchronous resources,
and/or finals or ready-to-render data.
To deal with complex architectures like multi user or complex components systems, the Scopes allow :
- normalized scopes for modules & views
- to inherit & mix other Scopes,
- automatic & chained destroy
- ...
Samples & bootstraps here
- Many more tests
- RS use a similar states data processing structure than React Hooks & Contexts; Using React, well used hooks/memo are now better for most cases imo.