redus_flutter 0.5.1
redus_flutter: ^0.5.1 copied to clipboard
Vue-like Component system for Flutter with reactive state, lifecycle hooks, and dependency injection.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.5.1 - 2025-12-23 #
Fixed #
- bind() type mismatch bug - Fixed
TypeErrorwhen usingbind()with multipleReftypes andwatch()insetup(). The issue occurred when fields were accessed in different phases (setup vs render), causing incorrect index assignment. Now correctly tracks widget instances to reset indices only on widget recreation.
0.5.0 - 2025-12-20 #
Added #
-
Observe<T>widget - Watches a reactive source and rebuilds when it changes- Takes a
sourcefunction (Ref, Computed, or getter) - Similar to
watch()but as a widget - Only rebuilds when source value changes
- Takes a
-
ObserveMultiple<T>widget - Watches multiple sources- Takes list of
sources - Rebuilds when any source changes
- Takes list of
-
ObserveEffectwidget - Auto-tracks reactive dependencies- Similar to
watchEffect()but as a widget - Tracks any
.valueaccess in builder - Most fine-grained reactivity option
- Similar to
Changed #
- Folder restructure: Renamed
component/towidget/ - File split: Split into individual files:
reactive_widget.dart- ReactiveWidget + ReactiveElementobserve.dart- Observe + ObserveMultiple widgetsobserve_effect.dart- ObserveEffect widgetlifecycle.dart- Lifecycle hooks mixin
0.4.0 - 2025-12-20 #
Added #
bind<T>()API - New simpler way to bind state to Elementlate final store = bind(() => MyStore())- Bind stores or any value- Index-based storage - no Symbol keys needed
- State persists across parent widget rebuilds
- Supports store pattern for encapsulated business logic
Removed #
state()andgetState()methods - Replaced bybind()
0.3.1 - 2025-12-19 #
Fixed #
- Updated README with new
ReactiveWidgetAPI and.watch(context)documentation
0.3.0 - 2025-12-19 #
Added #
- ReactiveWidget - New single-class component design
- .watch(context) Extension - Fine-grained reactivity for any widget
- DI Moved to redus_dart - Dependency injection from
package:redus/di.dart