ReactiveNotifyInitializerCallback<T> class

ReactiveNotifyInitializerCallback is a class that extends SingletonState to manage global state reactively, with both an initializer function and a callback function that gets executed whenever the state changes. It ensures that only a single instance of state per key exists, providing methods to set and reset the state.

Example usage:

final connectionState = ReactiveNotifyInitializerCallback<ConnectionElement>(
  initializer: () => 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

ReactiveNotifyInitializerCallback.new({required T initializer(), required T onStateChange(T newState)})
Factory constructor to create and manage a single instance of ReactiveNotifyInitializerCallback per key.
factory
ReactiveNotifyInitializerCallback.state(T _initializer(), T _onStateChange(T newState)?)
Private constructor to initialize the state with an initializer function and a 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 using the initializer function.
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