v7.0.0
Enhancements
- feat(core, framework): Add
Reactter.batch
andReactter.untracked
methods.Reactter.batch
hepls to execute the givencallback
function within a batch operation. A batch operation allows multiple state changes to be grouped together, ensuring that any associated side effects are only triggered once, improving performance and reducing unnecessary re-renders.Reactter.untracked
hepls to execute the givencallback
function without tracking any state changes. This means that any state changes that occur inside thecallback
function will not trigger any side effects.
- refactor(framework): Refactor lifecycle event handling and add lifecycle observer interface.
- Add
LifecycleObserver
inteface for event handling of the instance. - Add
didUnmount
lifecycle.
- Add
- refactor(core, framework, types): Add
LogLevel
enum and updatedefaultLogWriterCallback
signature. - refactor(hooks): Improve
UseEffect
performance and readability.- Add
UseEffect.runOnInit
constructor to execute callback effect on initialization.
- Add
- feat(framework, widgets): Add
ReactterProvider.lazy
constructor for lazy instance initialization. - refactor(widgets): Add
id
property toReactterComponent
for debugging information.
Breakings
- refactor(extensions, hooks, objs, signals): Remove features deprecated.
- Remove
List<ReactterState>.when
, usecontext.select
orUseCompute
instead. - Remove
UseContext
, useUseInstance
instead. - Remove
UseEvent
, use event shortcuts instead. - Remove
initialState
andreset
fromUseState
. - Remove
.obj
, useObj
class instead. - Remove
.signal
, useSignal
class instead.
- Remove
- refactor(framework, widgets, test): Change the position of
InstanceContextBuilder
(InstanceChildBuilder
now) arguments.- Move
context
to first argument onInstanceContextBuilder
(InstanceChildBuilder
now). - Adapt the
InstanceContextBuilder
(InstanceChildBuilder
now) ofReactterComponent
,ReactterConsumer
andReactterProvider
widgets.
- Move
- refactor(core, hooks): Rename
attachTo
tobind
,detachInstance
tounbind
andinstanceAttached
toinstanceBinded
. - refactor(hooks): Improve
UseEffect
performance and readability.
Fixes
- fix(obj): Fix equality comparison in
ObjBase
class. - fix(core): Resolve event for both types(instanceRef, instanceObj) and log event error.
- fix(core): Find the instance registered by the instance manager when searching for the extended class.
- refactor(core): Fix out-of-bounds index on
getHashCodeRefAt
method.
Internal
- refactor(framework, widgets, test): Change the position of
InstanceContextBuilder
(InstanceChildBuilder
now) arguments.- Adjust the tests about
ReactterComponent
,ReactterConsumer
andReactterProvider
widgets. - Adjust the documentation about
ReactterComponent
,ReactterConsumer
andReactterProvider
widgets.
- Adjust the tests about
- refactor(framework, widgets, test): Improve framework structure and simplify the
ReactterProvider
code.- Remove
Reactter
prefix of the framework classes. - Add
ProviderBase
,ProviderImpl
,ProviderElement
andProviderRef
class. - Rename
InstanceContextBuilder
toInstanceChildBuilder
andInstanceValueBuilder
toInstanceValueChildBuilder
. - Add
ChildBuilder
type. - Add
Reactter.getHashCodeRef
method.
- Remove
- refactor: Refactor file structure and imports.
- refactor(core, framework, hooks, signal): Rename variables of
ReactterZone
and improveReactterState
implementation. - refactor(test): Add
lazyState
,untracked
andbatch
tests. - refactor(core, test): Fix lifecycle event handling and add lifecycle_observer test.
- refactor(core, framework, test): Refactor event manager and remove unused code for 100% coverage.
- refactor(core, framework): Add
BindingZone
class and update references. - fix(core): Fix generic type constraint in
_getInstanceRef
method. - refactor(core): Refactor event handling logic and optimize listener removal.
- test(core, hooks): Add tests for signal usage on instance and binding to another instance.
- test(widgets): Add
ReactterProvider.lazy
tests, updateReactterComponent
tests and addLifecycleObserver
toTestController
. - fix(example): Update dependencies and fix code formatting on examples.
What's Changed
- Master <= Develop by @CarLeonDev in #4
Full Changelog: v6.2.0...v7.0.0