A reactive state management library with simple primitives, explicit reactivity, and excellent TypeScript support for applications of any size.
Reatom is a reactive state management library designed to handle logic and state for applications of any size, from small widgets to large single-page applications. It provides a minimal set of core primitives—atom, computed, action, and effect—that enable predictable, performant, and scalable state management with excellent TypeScript support.
Frontend developers building React applications or other JavaScript-based projects who need a lightweight, performant, and type-safe state management solution. It's particularly suited for teams prioritizing explicit reactivity, advanced async handling, and a minimal learning curve.
Developers choose Reatom for its simple yet powerful primitives, explicit reactivity without proxies, and outstanding TypeScript experience. Its tiny bundle size, composable extensions, and framework-agnostic design make it a versatile choice over heavier or more complex alternatives.
Reatom - the ultimate state manager
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
With just atoms, computed values, actions, and effects, Reatom reduces cognitive load and enables predictable state management, as demonstrated in the quick start examples.
It uses direct atomization without proxies for predictable updates and maximum performance, avoiding the overhead of proxy-based reactivity systems.
The library provides top-tier type inference and safety throughout development, enhancing the experience for TypeScript projects as highlighted in the features.
At 2 KB gzipped for the core, Reatom is one of the smallest state management libraries, beneficial for performance-sensitive applications.
Built-in features like caching, retrying, and cancellation using native async/await and AbortController simplify complex asynchronous operations, as shown in the effects examples.
Compared to established libraries like Redux, Reatom has fewer community-contributed tools and integrations, which might require custom solutions for specific needs.
Setting up features like forms or routing involves using composable extensions, adding configuration complexity compared to all-in-one state management solutions.
While framework-agnostic, integration requires adapters (e.g., @reatom/react for React), which can introduce extra setup steps and potential compatibility issues.
For applications with minimal state needs, Reatom's comprehensive feature set might add unnecessary complexity compared to simpler hooks or context.