A state manager for JavaScript apps that implements business logic with ease across React, Vue, Svelte, and more.
Effector is a state management library for JavaScript applications that focuses on implementing business logic with ease. It provides tools to manage data flow in complex apps across multiple frameworks like React, Vue, Svelte, and Node.js. The library solves the problem of tangled business logic by offering a clean, composable way to handle application state and side effects.
Frontend and full-stack developers building complex JavaScript applications with frameworks like React, Vue, or Svelte who need robust state management with excellent TypeScript support.
Developers choose Effector for its framework-agnostic design, exceptional TypeScript experience, and principled approach to state management that avoids common pitfalls like boilerplate code or controversial patterns. Its composable stores and predictable API make it suitable for both small and large-scale applications.
Business logic with ease ☄️
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works seamlessly with React, Vue, Svelte, SolidJS, and vanilla JavaScript, allowing consistent state management across different tech stacks, as highlighted in the key features.
Provides full type safety and inference without additional configuration, making it ideal for TypeScript projects, as stated in the introduction and key features.
Stores and events can be freely combined to model complex business logic, promoting clean separation from view layers, per the philosophy of building from simple elements.
Encourages creating focused stores without performance overhead and uses a small set of consistent primitives (events, stores, effects), ensuring clarity and ease of use.
Compared to established libraries like Redux, Effector has fewer third-party plugins, tools, and learning resources, which may require more custom solutions.
Its principled approach and new abstractions (e.g., effects, domains) can be challenging for developers used to simpler patterns, despite the predictable API.
While documentation exists, some advanced topics or framework-specific integrations might be less detailed, relying more on community support and articles.
effector is an open-source alternative to the following products:
A predictable state container for JavaScript applications, commonly used with libraries like React for managing application state in a consistent way.
Vuex is the official state management pattern and library for Vue.js applications, providing a centralized store for all components in an application.
MobX is a state management library for JavaScript applications that uses observable data structures to automatically track changes and update UI components efficiently.