awesome-repositories.com
Blog
awesome-repositories.com

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

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

immerjs/use-immer

0
View on GitHub↗
4,536 stars·101 forks·TypeScript·MIT·3 views

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.

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.

Star history

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

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

Open-source alternatives to Use Immer

Similar open-source projects, ranked by how many features they share with Use Immer.
  • 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
  • jonasschmedtmann/ultimate-react-coursejonasschmedtmann avatar

    jonasschmedtmann/ultimate-react-course

    4,463View on GitHub↗

    This project is a React learning resource consisting of starter files and reference projects. It provides a collection of full stack React project templates and component library examples to demonstrate the construction of interactive user interfaces and single page applications. The resource includes a state management guide covering the use of hooks, reducers, and context providers. It features practical implementations for managing local component state, synchronizing global application data, and handling complex state transitions. The material covers full stack web development, including

    JavaScriptreact-coursestarter-codeudemy
    View on GitHub↗4,463
See all 30 alternatives to Use Immer→

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.

What are some open-source alternatives to immerjs/use-immer?

Open-source alternatives to immerjs/use-immer 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… jonasschmedtmann/ultimate-react-course — This project is a React learning resource consisting of starter files and reference projects. It provides a collection… mweststrate/immer — Immer is an immutable state management library for JavaScript that enables the creation of new versions of state… salesforce/akita — Akita is a JavaScript state management library that provides a system for managing application data and user interface…