Please be advised that this video contains language that can be considered explicit.
Joel and Jared chat about the essential questions around State management; they concluded that there is no silver bullet in dealing with State Management. The conversation also included an overview of how URL-driven Applications are used to maximize SEO performance (they do this by keeping State the URL). Jared also gave a walkthrough of Formkit and Recoil. He expanded on how Recoil solves performance when you need to update State in a deeply nested tree.
The biggest question that you need to answer: Where is this State going to live?
You should never have State in two places at any time. Do not duplicate State.
You need to have a single source of truth, and it needs to live in one place.
The best way to level up your State game is to learn how to normalize.
The process of normalization is heavily used in every software design because normalizing data has a significant impact on reducing data redundancy.
Normalizing data with unlock performance gains. You need to have a single source of truth for each atomic unit of State. And you only want to make a change in one place.
Immer - write mutual code.
Using immutable data structures provides many benefits, including making your code easier to reason about and less prone to bugs.
Immer - It's useful when making an update at scale using structural sharing. It's super fast, perfect for large nested lists.
https://codesandbox.io/s/recoil-sandbox-20200516-meh12