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

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
immerjs avatar

immerjs/use-immer

0
View on GitHub↗

Use Immer

use-immer is a React hook library that provides an immutable state hook for updating complex state objects. It integrates Immer state management into the React component lifecycle, allowing developers to handle state transitions by modifying a draft object rather than manually copying state.

The library enables the update of deeply nested data structures without the use of spread operators to copy every level of the state tree. It uses a mutation-based draft approach to ensure that the original state remains untouched while producing a new immutable version of the data.

The project covers general React state management, including the ability to manage state with reducers and handle complex state transitions.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Immutable State Hooks - Provides React hooks specifically designed to manage immutable state snapshots using a drafting pattern.
  • Immutable State Utilities - Provides utilities for updating deeply nested data structures without using manual spread operators.
  • Mutable State Transitions - Allows updating state by modifying proxy objects via mutation functions instead of manually returning new immutable states.
  • Proxy-Based Immutability - Utilizes JavaScript Proxies to intercept mutations and automatically generate new immutable state trees.
  • Mutation-Syntax Immutable Updates - Enables the use of mutation-style code to produce immutable state updates.
  • React State Management - Simplifies the management of complex internal and global state in React applications using mutable drafts.
  • Copy-On-Write Proxying - Implements copy-on-write semantics using JavaScript proxies to optimize the creation of immutable state trees.
  • React Hooks - Integrates mutation-style state transitions directly into the React hooks workflow.
  • Reducer State Management - Integrates reducer-based state management by allowing the reducer function to mutate a draft state object.
4,536 stars·101 forks·TypeScript·MIT·18 views

Star history

Star history chart for immerjs/use-immerStar history chart for immerjs/use-immer

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Use Immer

These projects share indexed features with Use Immer. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • mweststrate/use-immermweststrate avatar

    mweststrate/use-immer

    4,536View on GitHub↗

    use-immer is a React state management utility that provides a custom hook for updating immutable state. It allows for the modification of a temporary draft version of data to calculate the next state transition. The tool simplifies the management of complex state by enabling direct mutations on a draft, which removes the need to manually copy nested objects or arrays using spread operators. This approach ensures the generation of a new immutable snapshot for predictable state changes. The library covers capabilities for updating deeply nested state and supports processing state changes throu

    TypeScript
    View on GitHub↗4,536
  • facebook/reactfacebook avatar

    facebook/react

    245,669View on GitHub↗

    React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.

    JavaScriptjavascriptuifrontend
    View on GitHub↗245,669
  • ctrlplusb/easy-peasyctrlplusb avatar

    ctrlplusb/easy-peasy

    5,044View on 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
    View on GitHub↗5,044
  • dai-shi/use-context-selectordai-shi avatar

    dai-shi/use-context-selector

    2,953View on GitHub↗

    Use context selector is a state management library that allows applications to share state across component trees without prop drilling or unnecessary re-renders. It provides a specialized React context creation mechanism alongside hooks for reading targeted context slices, ensuring that components update only when their specific data changes. The library features granular dependency tracking and selector-based subscriptions to prevent sluggish rendering caused by broad state updates. It also includes cross-root context bridging to connect isolated component trees under a single provider and

    TypeScriptcustom-hookreactreact-context
    View on GitHub↗2,953
Compare all 30 related projects→

Frequently asked questions

What does immerjs/use-immer do?

use-immer is a React hook library that provides an immutable state hook for updating complex state objects. It integrates Immer state management into the React component lifecycle, allowing developers to handle state transitions by modifying a draft object rather than manually copying state.

What are the main features of immerjs/use-immer?

The main features of immerjs/use-immer are: Immutable State Hooks, Immutable State Utilities, Mutable State Transitions, Proxy-Based Immutability, Mutation-Syntax Immutable Updates, React State Management, Copy-On-Write Proxying, React Hooks.

Which projects share features with immerjs/use-immer?

Projects with overlapping indexed features include: mweststrate/use-immer — use-immer is a React state management utility that provides a custom hook for updating immutable state. It allows for… facebook/react — React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional… ctrlplusb/easy-peasy — Easy-peasy is a React state management library and typed framework that provides a centralized store for managing… dai-shi/use-context-selector — Use context selector is a state management library that allows applications to share state across component trees… mweststrate/immer — Immer is an immutable state management library for JavaScript that enables the creation of new versions of state… jonasschmedtmann/ultimate-react-course — This project is a React learning resource consisting of starter files and reference projects. It provides a collection…