Menu
Immer LogoImmer LogoImmer
en
  • en
  • zh-CN
DocumentationGitHubSupport Immer
🌜
🌞
Immer LogoImmer LogoImmer
  • Documentation
  • GitHub
  • Support Immer
  • Languages
    • en
    • zh-CN
  • Basics
    • Introduction
    • Installation
    • Using produce
    • Curried producers
    • React & Immer
    • Update patterns
  • Advanced Features
    • API overview
    • Map and Set
    • Classes
    • Current
    • Original
    • Patches
    • Auto freezing
    • Returning new data from producers
    • Async produce / createDraft
    • TypeScript / Flow
  • Resources
    • Immer performance
    • External resources
    • FAQ
    • Pitfalls
    • Built with Immer
    • Supporting immer
    • Porting to other languages

Frequently Asked Questions

Q: How does Immer work?#

Read the (second part of the) introduction blog.

Q: Does Immer use structural sharing? So that my selectors can be memoized and such?#

A: Yes

Q: Does Immer support deep updates?#

A: Yes

Q: I can't rely on Proxies being present on my target environments. Can I use Immer?#

A: Yes - view details

Q: Can I typecheck my data structures when using Immer?#

A: Yes

Q: Can I store Date objects, functions etc in my state tree when using Immer?#

A: Yes

Q: Can I use Maps and Sets?#

A: Yes

Q: Is it fast?#

A: Yes

Q: Idea! Can Immer freeze the state for me?#

A: Yes

Edit this page
Previous
« External resources
Next
Pitfalls »
  • Q: How does Immer work?
  • Q: Does Immer use structural sharing? So that my selectors can be memoized and such?
  • Q: Does Immer support deep updates?
  • Q: I can't rely on Proxies being present on my target environments. Can I use Immer?
  • Q: Can I typecheck my data structures when using Immer?
  • Q: Can I store Date objects, functions etc in my state tree when using Immer?
  • Q: Can I use Maps and Sets?
  • Q: Is it fast?
  • Q: Idea! Can Immer freeze the state for me?
Copyright © 2022 Michel Weststrate