awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jamiebuilds avatar

jamiebuilds/unstated

0
View on GitHub↗
7,728 stars·262 forks·JavaScript·MIT·8 vues

Unstated

Unstated is a React state management library that encapsulates application state and update logic within decoupled containers. It functions as a container-based state store, allowing state and business logic to be organized into standalone classes that trigger component re-renders when data changes.

The project serves as a dependency injection framework, enabling specific state container instances to be supplied to the component tree. This mechanism supports the use of mock containers or stubs to facilitate controlled testing and custom configurations.

The library covers global state management and application state decoupling, moving logic away from the user interface. It ensures component state synchronization by passing shared instances through the application tree to keep multiple interface elements in sync with a single data source.

Features

  • Application State Managers - Provides a framework to manage application variables and business logic to trigger interface updates.
  • State Containers - Provides architectural components that manage global application state through centralized data stores.
  • Dependency Injection Frameworks - Implements inversion of control to supply specific state container instances to the component tree.
  • Container-Based Encapsulations - Wraps state and logic within standalone classes to decouple data management from the component view hierarchy.
  • State Synchronization - Ensures multiple interface elements stay synchronized with a single data source by passing shared containers.
  • Global State Managers - Maintains a global application state shared across various UI components in the browser.
  • Context-Based Instance Distribution - Passes state containers through the application tree to ensure multiple components access a single shared instance.
  • Dependency Injection Patterns - Implements patterns for providing state and methods to nested components without manual prop drilling.
  • Component-Based State Management - Passes container instances through a tree hierarchy to automatically synchronize and update the UI.
  • Modular State Sharing - Stores state and logic in decoupled containers that can be shared across independent application modules.
  • State Management Libraries - Provides a library for managing application state in web interfaces by encapsulating logic in decoupled containers.
  • Observation-Based Rendering - Triggers UI re-renders automatically when the underlying state container notifies the component of a change.
  • Class-Based Logic Organization - Organizes related state variables and update methods within a single class structure to decouple logic from the UI.
  • Test Service Injections - Allows swapping real state containers with mock implementations for deterministic and controlled testing.
  • State Dependency Injection - Supplies specific container instances to the application to facilitate stubbing and custom configuration during testing.

Historique des stars

Graphique de l'historique des stars pour jamiebuilds/unstatedGraphique de l'historique des stars pour jamiebuilds/unstated

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Unstated

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Unstated.
  • vuejs/piniaAvatar de vuejs

    vuejs/pinia

    14,480Voir sur GitHub↗

    Pinia is a state management library for Vue applications that provides a centralized, type-safe architecture for organizing reactive data. It utilizes a modular store pattern, allowing developers to define independent, reusable state containers that manage shared application data, computed getters, and executable actions. The library distinguishes itself through a flexible definition model that supports both functional setup patterns and traditional object-based structures. It features a plugin-based extension architecture that enables developers to hook into the store lifecycle for custom fu

    TypeScriptcomposition-apissrstore
    Voir sur GitHub↗14,480
  • reactive/data-clientAvatar de reactive

    reactive/data-client

    2,031Voir sur GitHub↗

    Data-client is an asynchronous state management library designed to synchronize server data with frontend applications. It functions as a normalized cache manager that maps complex API responses into structured, relational entities, ensuring data consistency across the entire application. By providing a unified communication layer, the library supports both REST and GraphQL, allowing developers to bind network data directly to user interface components through declarative hooks. The library distinguishes itself through a robust architecture for optimistic user interface development, where loc

    TypeScriptexpofetchhooks
    Voir sur GitHub↗2,031
  • ctrlplusb/easy-peasyAvatar de ctrlplusb

    ctrlplusb/easy-peasy

    5,044Voir sur GitHub↗

    Easy-peasy is a React state management library and typed framework that provides a centralized store for managing global application state. It functions as an immutable state store and an async state orchestrator, ensuring end-to-end type safety for state definitions, actions, and derived values. The library distinguishes itself by converting direct mutation syntax into immutable updates to simplify the management of nested data. It includes a mechanism for persisting the state tree to storage and rehydrating it during the application boot process, with the ability to suspend the user interfa

    JavaScripthooksimmerimmutable
    Voir sur GitHub↗5,044
  • felangel/blocAvatar de felangel

    felangel/bloc

    12,455Voir sur GitHub↗

    This is a Dart state management library and architectural framework that decouples business logic from the user interface by transforming a stream of events into a stream of states. It implements a business logic component pattern to ensure that state transitions are predictable and testable. The project distinguishes itself through advanced event stream processing, providing concurrency strategies to drop, restart, or queue incoming events. It includes a dedicated state persistence layer for saving and restoring application state to maintain session continuity, as well as tools for state his

    Dart
    Voir sur GitHub↗12,455
Voir les 30 alternatives à Unstated→

Questions fréquentes

Que fait jamiebuilds/unstated ?

Unstated is a React state management library that encapsulates application state and update logic within decoupled containers. It functions as a container-based state store, allowing state and business logic to be organized into standalone classes that trigger component re-renders when data changes.

Quelles sont les fonctionnalités principales de jamiebuilds/unstated ?

Les fonctionnalités principales de jamiebuilds/unstated sont : Application State Managers, State Containers, Dependency Injection Frameworks, Container-Based Encapsulations, State Synchronization, Global State Managers, Context-Based Instance Distribution, Dependency Injection Patterns.

Quelles sont les alternatives open-source à jamiebuilds/unstated ?

Les alternatives open-source à jamiebuilds/unstated incluent : vuejs/pinia — Pinia is a state management library for Vue applications that provides a centralized, type-safe architecture for… ctrlplusb/easy-peasy — Easy-peasy is a React state management library and typed framework that provides a centralized store for managing… reactive/data-client — Data-client is an asynchronous state management library designed to synchronize server data with frontend… felangel/bloc — This is a Dart state management library and architectural framework that decouples business logic from the user… day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… rackt/redux — Redux is a JavaScript state management library that serves as a centralized state container for application data. It…