ReactiveState<T extends StatefulWidget, S extends ReactiveController> class
abstract
Base state class for widgets with reactive controllers.
ReactiveState provides automatic controller lifecycle management with dependency injection. It handles controller creation, registration, and disposal, allowing you to focus on building your UI.
Example:
class CounterController extends ReactiveController {
final count = Reactive<int>(0);
void increment() => count.value++;
}
class CounterPage extends StatefulWidget {
@override
State<CounterPage> createState() => _CounterPageState();
}
class _CounterPageState extends ReactiveState<CounterPage, CounterController> {
@override
BindController<CounterController> bindController() {
return BindController(() => CounterController());
}
@override
Widget build(BuildContext context) {
return Observer(
listenable: controller.count,
listener: (value) => Text('$value'),
);
}
}
Constructors
- ReactiveState({String? tag})
-
Creates a ReactiveState with an optional
tag.
Properties
- context → BuildContext
-
The location in the tree where this widget builds.
no setterinherited
- controller → S
-
Access the controller instance.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- mounted → bool
-
Whether this State object is currently in a tree.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- tag → String?
-
Optional tag for distinguishing multiple instances of the same controller.
final
- widget → T
-
The current configuration.
no setterinherited
Methods
-
activate(
) → void -
Called when this object is reinserted into the tree after having been
removed via deactivate.
inherited
-
bindController(
) → BindController< S> ? - Binds a controller to this state.
-
build(
BuildContext context) → Widget -
Build your widget tree here using controller.
override
-
deactivate(
) → void -
Called when this object is removed from the tree.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
didChangeDependencies(
) → void -
Called when a dependency of this State object changes.
inherited
-
didUpdateWidget(
covariant T oldWidget) → void -
Called whenever the widget configuration changes.
inherited
-
dispose(
) → void -
Called when this object is removed from the tree permanently.
override
-
initState(
) → void -
Called when this object is inserted into the tree.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
reassemble(
) → void -
Called whenever the application is reassembled during debugging, for
example during hot reload.
inherited
-
setState(
VoidCallback fn) → void -
Notify the framework that the internal state of this object has changed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringShort(
) → String -
A brief description of this object, usually just the runtimeType and the
hashCode.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited