A higher-order reducer that adds undo/redo functionality to Redux state containers.
Redux Undo is a library that adds undo/redo functionality to Redux applications by wrapping reducers with a higher-order reducer. It manages a history of state changes, allowing users to revert or reapply actions, which is essential for applications requiring user-friendly error recovery or exploration of different states.
Redux developers building applications where users need to undo actions, such as form editors, drawing tools, or any interactive interface with mutable state.
Developers choose Redux Undo because it integrates seamlessly with Redux, requires minimal changes to existing code, and offers extensive customization for history management, filtering, and action grouping.
:recycle: higher order reducer to add undo/redo functionality to redux state containers
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Wraps existing reducers as a higher-order reducer without altering core logic, preserving Redux's predictable state management as emphasized in the philosophy.
Supports limiting history size, filtering actions with includeAction/excludeAction, and grouping consecutive actions into single undo steps via the Configuration section.
Can be applied to specific state slices with independent histories, allowing fine-grained control as shown in the 'Apply redux-undo magic to specific slice' example.
Offers numerous options like custom action types, debug mode, and initial state handling, detailed in the Configuration object for tailored undo behavior.
The README explicitly states it's not actively maintained, risking lack of bug fixes, security updates, and compatibility with future Redux versions.
Stores full state snapshots in history arrays, which can lead to significant memory usage for large or complex states, despite configurable limits.
Requires manual setup for filters, groups, and action types, adding complexity compared to more integrated or modern state management solutions.