ReactiveNotifyCallback<T> class
ReactiveNotifyCallback is a class that extends SingletonState
to manage global state reactively,
with an additional callback function that gets executed whenever the state changes.
It ensures that only a single instance of state per type exists, providing methods to set and reset the state.
Example usage:
final connectionState = ReactiveNotifyCallback<ConnectionElement>(
ConnectionElement.connected,
onStateChange: (newState) {
print("State changed to $newState");
return newState; // You can modify the state here if needed
},
);
// Access and modify the state
connectionState.setState(ConnectionElement.error);
print(connectionState.value); // Output: ConnectionElement.error
- Inheritance
-
- Object
- ChangeNotifier
- ValueNotifier<
T> - ReactiveNotifyCallback
Constructors
- ReactiveNotifyCallback.new(T initialValue, {T onStateChange(T newState)?})
-
Factory constructor to create and manage a single instance of
ReactiveNotifyCallback
per type.factory - ReactiveNotifyCallback.state(T _defaultValue, T _onStateChange(T newState)?)
- Private constructor to initialize the default value of the state and the callback function.
Properties
- 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
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. After this is called, the
object is not in a usable state and should be discarded (calls to
addListener will throw after the object is disposed).
inherited
-
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
-
resetState(
) → void - Resets the state to its default value.
-
setState(
T newValue) → void - Sets a new value to the state, executes the callback function if provided, and notifies listeners.
-
toString(
) → String -
A string representation of this object.
inherited
-
update(
) → void - Manually triggers the callback function with the current state value.
-
when(
{required T newState(), required void onCompleteState(T data), void onError(Object error, StackTrace stackTrace)?}) → void - Abstract method where you can execute callback on finish setState.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited