Una biblioteca de JavaScript para gestionar el estado global de forma predecible y mantenible, compatible con React y otras bibliotecas de vistas.
immerjs/immer
Una biblioteca de JavaScript que permite actualizar el estado de forma inmutable modificando una copia provisional del estado actual.
- Estrellas
- 28,988
- Forks
- 901
- Issues abiertos
- 46
- Último commit
- hace 13 horas
¿Qué es?
Immer permite actualizar el estado de forma inmutable escribiendo código que modifica los datos de manera habitual. Los cambios se aplican a un proxy provisional del estado actual, e Immer genera un nuevo árbol de estado inmutable sin alterar el original. Así, no es necesario copiar manualmente los objetos y arrays anidados al actualizar el estado.
La biblioteca se usa habitualmente con los reducers de Redux y otros códigos de gestión del estado que requieren actualizaciones inmutables. Su API se basa en una función llamada produce, que recibe un estado base y una función recipe, y se distribuye como el paquete npm immer. La documentación está disponible en el sitio web del proyecto.
Funciones clave
- 01Escribe actualizaciones del estado modificando una copia provisional en vez de copiar los objetos manualmente.
- 02Genera un nuevo estado inmutable sin modificar el estado original.
- 03La API principal es una función produce que recibe un estado base y una función recipe.
- 04Se distribuye como el paquete npm immer.
Casos de uso
- Simplificar las actualizaciones inmutables en los reducers de Redux.
- Actualizar estados profundamente anidados en React u otras aplicaciones de interfaz de usuario.
- Escribir lógica de estado que necesite un historial para deshacer cambios o seguimiento de cambios mediante snapshots inmutables.
Inicio rápido
- 1
Consulta la documentación en immerjs.github.io/immer para encontrar las instrucciones de instalación
- 2
Para contribuir, abre el proyecto en Gitpod, que instala las dependencias y ejecuta yarn run start automáticamente
Temas
Preguntas frecuentes
- ¿Qué es immer?
- Una biblioteca de JavaScript que permite actualizar el estado de forma inmutable modificando una copia provisional del estado actual. Immer permite actualizar el estado de forma inmutable escribiendo código que modifica los datos de manera habitual. Los cambios se aplican a un proxy provisional del estado actual, e Immer genera un nuevo árbol de estado inmutable sin alterar el original. Así, no es necesario copiar manualmente los objetos y arrays anidados al actualizar el estado.
- ¿immer es gratuito? ¿Qué licencia tiene?
- immer es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿immer sigue mantenido?
- Mantenimiento activo. El último commit de immer fue el 21 oct 2026.
- ¿Para qué puedo usar immer?
- Simplificar las actualizaciones inmutables en los reducers de Redux. Actualizar estados profundamente anidados en React u otras aplicaciones de interfaz de usuario. Escribir lógica de estado que necesite un historial para deshacer cambios o seguimiento de cambios mediante snapshots inmutables.
- ¿Cómo se instala immer?
- Consulta la documentación en immerjs.github.io/immer para encontrar las instrucciones de instalación Para contribuir, abre el proyecto en Gitpod, que instala las dependencias y ejecuta yarn run start automáticamente
- ¿Dónde consigo immer?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/immerjs/immer
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una pequeña biblioteca de gestión de estado para React basada en hooks, sin necesidad de providers.
Bindings oficiales de React para Redux que conectan stores de Redux con componentes de React mediante hooks y un Provider.
Middleware de Redux para gestionar efectos secundarios, como la obtención de datos, mediante sagas basadas en generadores fáciles de leer, probar y cancelar.
Biblioteca TypeScript para crear funciones selectoras memoizadas que derivan datos de Redux u otro estado de JavaScript simple.
Una biblioteca tipo middleware de Redux que guarda el estado del store y lo restaura al iniciar la aplicación.