Immutable Data with Immer and Personal Assistant Bots

Illustrated notes on how work with immutable data in the Immer state library

Immutability and state are two developer buzzwords it took me forever to "get."

Their underlying meanings aren't necessarily that complex. But it's tough to fully comprehend what they mean, and why they're important, until you see them in action.

just means the way an application is at a single point in time.

For example, if we've typed "how does CSS grid work" into the search bar, and there are three checkboxes ticked, and we have a dropdown menu open that's the current "state" of things. If we close the menu that's a state change.

Behind the scenes in apps we have to account for every state an app could be in (which gets expontential very quicky). This is usually called and appears to be a

Immutable State is one approach to solving our complex state problem – it simply means making a second copy of things before you change them.

It's the same as copying and pasting a new document before liberally changing enourmous chunks of it. Then when you realise your poor editing choices and want to go back to the original version, it's there waiting for you.

Writing is a concept in general. And a good idea when you don't want to muck everything up.

Okay now you're all caught up on the jargon. Lets get to some illustrated notes.

These are from a course made about their elegant new tool – it helps handle manage immutable state in a sane way.

Michel walks us through building a gifting app with React & Immer that seamlessly handles all the messy state work.

Want more illustrated notes on web development?

Take a look at

, or

Want to share?