Skip to content
This repository has been archived by the owner on Oct 17, 2022. It is now read-only.
/ rescope Public archive

Simple & flexible state management system powered by reactive data components, multi-stores, scopes logic & flux architecture

License

Notifications You must be signed in to change notification settings

rscopes/rescope

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ReScope

Flexible State management system based on flux architecture, stores data components & inheritable scopes

Build Status Build Status

Related packages

React HOCs, decorators & tools : react-scopes
ReScope HOCs, decorators & tools : rescope-spells

ReScope What ?

ReScope is a flexible, effective and easy to use state management system inspired by ReactJS methods.

What's the point ?

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

How ?

By using independent, specialized & serializable "Data Stores" in a Flux oriented architecture.

Stores ?

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.

Scopes ?

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

Todo ?

  • 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.

HitCount Buy Me A Coffee

*

About

Simple & flexible state management system powered by reactive data components, multi-stores, scopes logic & flux architecture

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published