- The producer function receives one argument, the draft, which is a proxy to the current state you passed in.
- The currentState will be untouched during this process.Because immer uses structural sharing, and our example producer above didnât modify anything, the next state above is simply the state we started with.Letâs take look at what happens when we start modifying the draft in our producer.
- It is not too bad in this simple case, but this process has to be repeated for every action, and on every level in which we want modify something.We have to make sure to return the existing state if the reducer doesnât do anythingWith Immer, we only need to reason…
- Both the original reducer and the new one behave exactly the same.No stringsÂ attachedThe idea to produce the next immutable state by modifying a temporarily draft isnât new.
- This will create a new function that will execute the producer when itâs passed in a state.
Immutable, structurally shared data structures are a great paradigm for storing state. Especially when combined with an event-sourcing architecture. However, there is a cost to pay. In a language…
Continue reading “Introducing Immer: Immutability the easy way – Hacker Noon”