https://github.com/immerjs/immer
Create the next immutable state by mutating the current one
https://github.com/immerjs/immer
immutable immutables reducer redux state-tree
Last synced: 2 days ago
JSON representation
Create the next immutable state by mutating the current one
- Host: GitHub
- URL: https://github.com/immerjs/immer
- Owner: immerjs
- License: mit
- Created: 2017-12-29T12:25:47.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-09-19T07:46:06.000Z (7 months ago)
- Last Synced: 2025-04-15T04:53:45.065Z (9 days ago)
- Topics: immutable, immutables, reducer, redux, state-tree
- Language: JavaScript
- Homepage: https://immerjs.github.io/immer/
- Size: 5.57 MB
- Stars: 28,253
- Watchers: 154
- Forks: 862
- Open Issues: 54
-
Metadata Files:
- Readme: readme.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-react-cn - immer - Create the next immutable state by mutating the current one (Uncategorized / Uncategorized)
- awesome - immer - Create the next immutable state by mutating the current one (JavaScript)
- best-of-react - GitHub - 4% open · ⏱️ 27.04.2024): (State Management)
- best-of-react - GitHub - 4% open · ⏱️ 27.04.2024): (State Management)
- my-awesome-list - immer
- awesome-react - immer - Create the next immutable state by mutating the current one (Uncategorized / Uncategorized)
- awesome-ccamel - immerjs/immer - Create the next immutable state by mutating the current one (JavaScript)
- awesome-learning-resources - immer - Create the next immutable state by mutating the current one (Uncategorized / Uncategorized)
- awesome-github-star - immer
- awesome - immerjs/immer - Create the next immutable state by mutating the current one (JavaScript)
- awesome-list - immer
- awesome-web-dev - immer
- awesome-nodejs-cn - immer
- awesome-react - immer - Create the next immutable state by mutating the current one ` 📝 3 days ago` (React [🔝](#readme))
- awesome-react - immer - Create the next immutable state by mutating the current one (**Awesome React** [](https://github.com/sindresorhus/awesome) / React)
- best-of-react - GitHub - 4% open · ⏱️ 27.04.2024): (State Management)
- awesome-nodejs - immer - 函数式响应式编程。  (GIT 仓库 / 函数式编程)
- stars - immer
- stars - immer
- awesome-react - Immer - Create the next immutable state tree by simply modifying the current tree.. (Uncategorized / Uncategorized)
- awesome-react - Immer - Create the next immutable state tree by simply modifying the current tree.. (Uncategorized / Uncategorized)
- awesome-web-cn - immer - 一个让你在 React 中更新状态变得更简单而不需要考虑状态的不可变性 (Uncategorized / Uncategorized)
README
# Immer
[](https://www.npmjs.com/package/immer) [](https://github.com/immerjs/immer/actions?query=branch%3Amain) [](https://coveralls.io/github/immerjs/immer?branch=main) [](https://github.com/prettier/prettier) [](#backers) [](#sponsors) [](https://gitpod.io/#https://github.com/immerjs/immer)
_Create the next immutable state tree by simply modifying the current tree_
Winner of the "Breakthrough of the year" [React open source award](https://osawards.com/react/) and "Most impactful contribution" [JavaScript open source award](https://osawards.com/javascript/) in 2019
## Contribute using one-click online setup
You can use Gitpod (a free online VS Code like IDE) for contributing online. With a single click it will launch a workspace and automatically:
- clone the immer repo.
- install the dependencies.
- run `yarn run start`.so that you can start coding straight away.
[](https://gitpod.io/from-referrer/)
## Documentation
The documentation of this package is hosted at https://immerjs.github.io/immer/
## Support
Did Immer make a difference to your project? Join the open collective at https://opencollective.com/immer!
## Release notes
https://github.com/immerjs/immer/releases