State Management Library
"Reatom is the ultimate logic and state manager for small widgets and huge SPAs.
- Simple and powerful abstractions. There are only three main primitives:
ctx
,atom
,action
. All other features and packages work on top of tha- Immutable and reliable. All pure computations processed with atomicity guarantees
- Explicit reactivity without proxies. We use the atomization pattern to achieve maximum performance
- Perfect effects management. Advanced async package allows you to describe complex async flows, including caching, retrying and automatic cancellation with native
await
andAbortController
- Nice debugging experience. Each atom and action updates the ctx's immutable cause (call) stack. It helps a lot in debugging complex async flows. We also provide a logger package for that
- Implicit DI. An isolation layer is essential to ensure complete safety when running tests and using SSR. The ctx is such an isolation layer! We offer a testing package with various helpers for mocking
- Actor-like lifecycle hooks Learn more about self-sufficient models to achieve true modularity
- Smallest bundle size: 2 KB gzipped. With the power of base primitives, the whole ecosystem with A LOT of enterprise-level helpers takes only ~15KB.
- The best TypeScript experience Type inference is one of the main priorities for Reatom
The core package includes most of these features and, due to its minimal overhead, can be used in any project, from small libraries to large applications.
Adopting our well-designed helper tools allows you to efficiently handle complex tasks with minimal code. We aim to build a stable and balanced ecosystem that enhances DX and guarantees predictable maintenance for the long haul."