A lightweight functional reactive state container for JavaScript and TypeScript with declarative effects management.
DerivableJS is a functional reactive state management library for JavaScript and TypeScript that provides atoms and derivations to handle application state. It solves the problem of managing complex state changes and side effects declaratively, offering a lightweight alternative to larger state management libraries.
Frontend developers building reactive applications who prefer a minimal, functional approach to state management, especially those using React or dealing with immutable data structures.
Developers choose DerivableJS for its simplicity, performance, and declarative effects management, providing a focused toolset without the complexity of larger libraries while maintaining seamless integration with React and immutable collections.
Functional Reactive State for JavaScript and TypeScript
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The library has far fewer concepts than alternatives like MobX, reducing learning overhead and making it easier to grasp, as highlighted in the 'Key differences with MobX' section.
DerivableJS is finely tuned and propagates changes faster than MobX, offering significant speed benefits for reactive applications, as mentioned in the README.
Reactors provide a tidy and flexible system for managing side effects declaratively, triggered by state changes, which simplifies effect management in complex apps.
Works spiffingly with libraries like Immutable.js for handling collections, promoting immutability that benefits larger projects, as noted in the usage section.
Unlike MobX, DerivableJS lacks observable map and array types, requiring additional libraries for collection handling, which increases setup complexity and dependency management.
Users must always call .get and .set on derivables and atoms, adding verbosity and cognitive load compared to libraries with transparent dereferencing.
As a niche library, it has less community support, fewer third-party tools, and might be riskier for long-term maintenance versus popular alternatives like Redux or MobX.
DerivableJS is an open-source alternative to the following products: