A fractal state management library for Cycle.js applications using a single state atom and reducer streams.
Cycle Onionify is a state management library for Cycle.js applications that provides a fractal architecture using a single state atom and reducer streams. It solves the complexity of managing state and props in Cycle.js by unifying them into a layered, onion-like structure where each component manages its slice of state relative to its parent.
Cycle.js developers building complex applications who need a scalable and predictable state management solution, especially those familiar with Redux or Elm architecture patterns.
Developers choose Onionify for its fractal design, which eliminates global state entities and circular stream dependencies, offering a reusable and testable component model that integrates seamlessly with Cycle.js's reactive paradigm.
MIGRATED! This was transfered to https://cycle.js.org/api/state.html
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables uniform component design where each manages state relative to its parent, promoting reusability and isolation, as highlighted in the 'What is onionify' section.
Centralizes all application state in one tree, simplifying management and reducing boilerplate, similar to Redux and Elm patterns.
Eliminates the props vs. state distinction, making parent-child coordination more intuitive and avoiding circular stream dependencies common in Cycle.js.
Includes the makeCollection helper for handling dynamic lists of child components with array state, streamlining addition and removal processes.
No longer actively developed as it's been officialized into Cycle.js as @cycle/state, which may lead to compatibility issues or lack of future updates.
As admitted in the caveats, blurring state and props can cause shared-memory concurrency issues, making it harder to reason about component behavior.
Lacks built-in integration for Immutable.js, restricting its use in projects that rely on immutable data structures for performance or safety.