# rematch/rematch

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/rematch-rematch).**

8,417 stars · 416 forks · TypeScript · MIT · archived

## Links

- GitHub: https://github.com/rematch/rematch
- Homepage: https://rematchjs.org
- awesome-repositories: https://awesome-repositories.com/repository/rematch-rematch.md

## Topics

`angular` `hacktoberfest` `immer` `javascript` `react` `react-native` `react-redux` `redux` `redux-best-practices` `redux-made-easy` `rematch` `state-management` `typescript` `vue`

## Description

Rematch is a Redux state management framework and model orchestrator designed to organize application state into cohesive units. It functions as an asynchronous state workflow manager that bundles reducers and side effects into modular models to reduce the boilerplate typically required for Redux implementations.

The framework provides an extensible plugin architecture for injecting custom behavior and configuration into the store lifecycle. It supports a multi-store application architecture, allowing for the creation and management of several independent state containers within a single application.

The system coordinates asynchronous workflows and impure operations through a centralized dispatch system. It includes capabilities for cross-model state synchronization and the integration of custom reducers to derive the final application state tree.

## Tags

### Software Engineering & Architecture

- [Redux Implementations](https://awesome-repositories.com/f/software-engineering-architecture/redux-implementations.md) — Implements the Redux pattern of actions, reducers, and a centralized store, organized into modular cohesive models.
- [Asynchronous State Transition Orchestration](https://awesome-repositories.com/f/software-engineering-architecture/action-based-state-transitions/asynchronous-action-handling/asynchronous-state-transition-orchestration.md) — Provides orchestration of state transitions that rely on the resolution of asynchronous operations and promises.
- [Asynchronous Workflow Management](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-workflow-management.md) — Manages the lifecycle of background tasks and impure operations through a centralized state dispatch system.
- [Effectful State Updates](https://awesome-repositories.com/f/software-engineering-architecture/effect-state-management/effectful-state-updates.md) — Executes impure operations and asynchronous workflows via functions that trigger atomic state updates upon completion. ([source](https://cdn.jsdelivr.net/gh/rematch/rematch@main/README.md))
- [Model Orchestrators](https://awesome-repositories.com/f/software-engineering-architecture/redux-implementations/model-orchestrators.md) — Provides a system for grouping state, logic, and side effects into modular units that synchronize across multiple stores.
- [Colocated Action Reducers](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/state-management-architectures/action-reducer-architectures/colocated-action-reducers.md) — Groups action creators and their corresponding reducer logic into cohesive models to reduce boilerplate. ([source](https://cdn.jsdelivr.net/gh/rematch/rematch@main/README.md))
- [Multi-Store State Architectures](https://awesome-repositories.com/f/software-engineering-architecture/multi-store-state-architectures.md) — Supports the creation and management of several independent state containers within a single application instance. ([source](https://github.com/rematch/rematch/blob/master/CHANGELOG.md))
- [Multi-Store State Isolation](https://awesome-repositories.com/f/software-engineering-architecture/multi-store-state-isolation.md) — Enables the management of several independent state containers to isolate different business domains.
- [Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/redux-implementations/plugin-architectures.md) — Implements an extensible architecture for injecting custom behavior and configuration into the Redux store lifecycle.
- [Store Configurators](https://awesome-repositories.com/f/software-engineering-architecture/redux-implementations/store-configurators.md) — Provides utilities for initializing a centralized state store with custom behavior and middleware via plugins.
- [Pure Reducer Compositions](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/state-management-architectures/action-reducer-architectures/pure-reducer-compositions.md) — Implements state transition calculations by combining multiple independent, pure reducer functions into a global state tree.
- [Hook-Based Plugin Systems](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/hook-based-plugin-systems.md) — Provides a hook-based plugin system for extending core store functionality during the initialization lifecycle.

### Web Development

- [State-Management Frameworks](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/full-stack-frameworks/react-frameworks/state-management-frameworks.md) — Provides a structured state management framework for Redux that bundles reducers and asynchronous effects into cohesive models.
- [Reducer State Management](https://awesome-repositories.com/f/web-development/frontend-development-tools/state-data-management/state-logic-patterns/reducer-state-management.md) — Centralizes complex update logic into pure reducer functions that are merged to produce the final application state. ([source](https://github.com/rematch/rematch/blob/master/CHANGELOG.md))
- [Store Plugins](https://awesome-repositories.com/f/web-development/frontend-development-tools/state-data-management/store-pattern-implementations/store-plugins.md) — Provides interfaces for extending store functionality with custom logic and lifecycle event hooks via plugins. ([source](https://github.com/rematch/rematch/blob/master/CHANGELOG.md))

### Data & Databases

- [Model-Based Partitioning](https://awesome-repositories.com/f/data-databases/local-state-stores/state-partitioning/model-based-partitioning.md) — Organizes state, reducers, and effects into cohesive modular units that merge into a single global store.

### DevOps & Infrastructure

- [State Workflow Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/workflow-orchestration/state-workflow-orchestrators.md) — Coordinates sequences of state transitions and asynchronous task chains within the application store. ([source](https://github.com/rematch/rematch/blob/master/CHANGELOG.md))

### Business & Productivity Software

- [Cross-Model State Synchronization](https://awesome-repositories.com/f/business-productivity-software/cloud-synced-managers/playback-state-syncing/library-state-syncing/cross-model-state-synchronization.md) — Allows models to listen for and respond to actions dispatched by other models to keep state synchronized. ([source](https://github.com/rematch/rematch/blob/master/CHANGELOG.md))

### User Interface & Experience

- [Model-Based State Synchronizations](https://awesome-repositories.com/f/user-interface-experience/cross-view-state-synchronizations/model-based-state-synchronizations.md) — Coordinates state updates across different application models by listening for and responding to shared actions.
- [Type-Less Action Dispatchers](https://awesome-repositories.com/f/user-interface-experience/state-update-logic/state-action-value-updates/instance-scoped-action-dispatchers/action-dispatch-abstractions/type-less-action-dispatchers.md) — Implements a streamlined process for triggering state changes and effects without manual action type definitions. ([source](https://cdn.jsdelivr.net/gh/rematch/rematch@main/README.md))

### Part of an Awesome List

- [React - A JavaScript library for building user interfaces](https://awesome-repositories.com/f/awesome-lists/more/react-a-javascript-library-for-building-user-interfaces.md) — Listed in the “React - A JavaScript library for building user interfaces” section of the Awesome Redux awesome list.
