Skip to main content

Motivation

When using different state management libraries like Redux, Recoil, Jotai, MobX, XState I was never satisfied about how state management is done. My main dissatisfaction was caused by how much logics is mixed into UI layer.

When I discovered Recoil, I was impressed about its simplicity. But after using it in Websktop I've realized that using it was one of the biggest mistakes, because it introduced a lot of React hooks, which were strongly dependant on each other and caused lots of redundant re-renders.

Being annoyed by this, the idea of devising new approach to state management bothered me. I've spent days on thinking about new architecture, and finally while swimming here the concept of re-resolvable was born in my head.

After implementing basic re-resolvable functionality and creating a few proof of concepts I've seen a great opportunity for this approach and started implementing variety of helpers which altogether grown into a full-featured standalone state management library.

As for now I've created a few examples and rewritten state management of two of my private project using Awai: