Effector 23.4 is here! 🎉 Atlas
We're excited to launch Effector 23.4, our latest minor updated.
This thread will cover the key improvements, new features, Hot Module Replacement support, and debug improvements.
github.com/effector/effector…
🧵 [1/]
withease/i18next 23.2.0 has been released with a couple of new features:
🆕 store $language contains current language
🆕 effect changeLanguageFx allows changing it
🆕 integration creator now supports async i18next instances
That wraps up the major updates!
We've covered significant changes, but there's more to explore. We strongly recommend reviewing the full changelog for a detailed understanding before upgrading your projects.
Thank you for following along, and happy coding with Effector 23!
`undefined` no longer results in skipped store updates.
Want the old behavior back? Simply enable it with `skipVoid: true`. Also, note that if `$store.map(fn)` returns undefined during app initialization, it will now throw an error.
🧵 [8/]
Stricter Function Purity
Calling events or effects from functions deemed 'pure' by Effector now triggers runtime errors. Additionally, triggering derived events also results in runtime errors.
🧵 [6/]
The `previous` argument in `.map()` removed
We've made a substantial change: the second argument in `$store.map` is now removed. This shift means that derived stores no longer maintain an internal state, leading to cleaner and more predictable state management.
🧵 [5/]
/fork and /scope modules are obsolete
The `effector/fork` module has been removed and its functionality is now fully integrated into the core effector package.
Plus, `effector-react/scope` is no longer required as all hooks in the main package support scope operations.
🧵 [4/]
New Type Definitions
Say hello to `EventCallable`, `StoreWritable`, `UnitTargetable`. These new types distinctly mark writable stores and callable events, streamlining your use of derived units by clearly defining their intended interactions.
🧵 [3/]










