DisposeAwareValueNotifier<T> mixin
A mixin for ValueNotifiers whose async methods may write to value after the notifier has already been disposed (e.g. an in-flight network request completes after the widget that owned the controller has been torn down).
Without this guard, the inherited ValueNotifier.notifyListeners throws an assertion error in debug mode when called on a disposed instance.
Apply this mixin to any ValueNotifier subclass whose value setter may be reached from an async context:
class MyController extends ValueNotifier<MyState>
with DisposeAwareValueNotifier<MyState> { … }
After the notifier is disposed, any subsequent value write is silently discarded. Use the disposed getter to check disposal state if you also need to skip other side effects (e.g. setting up event subscriptions) that follow an async operation.
- Superclass constraints
- Mixin applications
Properties
- disposed → bool
-
Whether dispose has been called on this notifier.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
Whether any listeners are currently registered.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- value ↔ T
-
The current value stored in this notifier.
getter/setter pairinherited-getteroverride-setter
Methods
-
addListener(
VoidCallback listener) → void -
Register a closure to be called when the object changes.
inherited
-
dispose(
) → void -
Discards any resources used by the object.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyListeners(
) → void -
Call all the registered listeners.
inherited
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that are
notified when the object changes.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited