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

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