Repolode
immerjs

immerjs/immer

Библиотека JavaScript для обновления неизменяемого состояния через мутацию черновой копии текущего состояния.

Звёзды
28,988
Форки
901
Открытые issues
46
Последний коммит
14 часов назад

Что это?

Immer позволяет обновлять неизменяемое состояние с помощью обычного кода с мутациями. Изменения вносятся в черновой proxy текущего состояния, после чего Immer создает новое неизменяемое дерево состояния, не затрагивая исходное. Благодаря этому при обновлении не нужно вручную копировать вложенные объекты и массивы.

Библиотеку часто используют в редьюсерах Redux и другом коде управления состоянием, где нужны неизменяемые обновления. В основе API — функция produce, которая принимает исходное состояние и функцию-рецепт. Библиотека распространяется как npm-пакет immer. Документация размещена на сайте проекта.

Ключевые возможности

  • 01Обновляйте состояние, изменяя черновик вместо ручного копирования объектов.
  • 02Создает новое неизменяемое состояние, не меняя исходное.
  • 03Основу API составляет функция produce, принимающая исходное состояние и функцию-рецепт.
  • 04Распространяется как npm-пакет immer.

Сценарии использования

  • Упрощение неизменяемых обновлений в редьюсерах Redux.
  • Обновление глубоко вложенного состояния в React и других UI-приложениях.
  • Написание логики состояния, которой нужны история отмены или отслеживание изменений с помощью неизменяемых снимков.

Быстрый старт

  1. 1

    Инструкции по установке можно найти в документации на immerjs.github.io/immer

  2. 2

    Чтобы внести вклад в проект, откройте его в Gitpod: он автоматически установит зависимости и выполнит yarn run start

Темы

Частые вопросы

Что такое immer?
Библиотека JavaScript для обновления неизменяемого состояния через мутацию черновой копии текущего состояния. Immer позволяет обновлять неизменяемое состояние с помощью обычного кода с мутациями. Изменения вносятся в черновой proxy текущего состояния, после чего Immer создает новое неизменяемое дерево состояния, не затрагивая исходное. Благодаря этому при обновлении не нужно вручную копировать вложенные объекты и массивы.
immer можно использовать бесплатно? Какая у него лицензия?
immer распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
immer всё ещё поддерживается?
Активно поддерживается. Последний коммит в immer — 21 окт. 2026 г..
Для чего можно использовать immer?
Упрощение неизменяемых обновлений в редьюсерах Redux. Обновление глубоко вложенного состояния в React и других UI-приложениях. Написание логики состояния, которой нужны история отмены или отслеживание изменений с помощью неизменяемых снимков.
Как установить immer?
Инструкции по установке можно найти в документации на immerjs.github.io/immer Чтобы внести вклад в проект, откройте его в Gitpod: он автоматически установит зависимости и выполнит yarn run start
Где скачать immer?
Исходный код и инструкции по установке — на GitHub: https://github.com/immerjs/immer

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты