solid-sonner
solid-sonner copied to clipboard
fix: updates on existing toasts and displaying of icons.
Summary
- Fixes https://github.com/wobsoriano/solid-sonner/issues/15
- Fixes https://github.com/wobsoriano/solid-sonner/issues/14
- Fixed it by making it more "Solid-like". Solid prefers "fine-grained reactivity" that's why it was buggy because it can't seem to maintain referential stability when the array of objects get shifted around or updated in place.
- In Solid, referential volatility communicates change. Referential stability communicates nothing changed. Spreading = referential volatility.
- Basically in Solid, always avoid spreading when setting to state. Try to use stores for those usecases.
- Topics you can look into to learn about how this fix was done:
- GitHub Discussion - Why there's no key for referential stability
- createStore
- produce
- reconcile
Before Fix:
https://github.com/wobsoriano/solid-sonner/assets/38070918/a24670ce-3603-4ab0-aeba-1f326cb1d074
After Fix:
https://github.com/wobsoriano/solid-sonner/assets/38070918/89c1a0b1-c666-4007-9852-9065682bd820