StateController<State> class abstract

A StateController is similar to Controller but has no notion of events and relies on methods to emit new states.

Every StateController requires an initial state which will be the state of the StateController before emit has been called.

The current state of a StateController can be accessed via the state getter.

class CounterController extends StateController<int> {
  CounterController() : super(0);

  void increment() => emit(state + 1);
}
Inheritance

Constructors

StateController(State initialState)

Properties

hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
no setterinherited
initialized bool
Checks whether the controller has already been initialized.
no setterinherited
isClosed bool
Checks whether the controller has already been closed.
no setterinherited
listeners int
no setterinherited
onDelete → InternalFinalCallback<void>
Internal callback that starts the cycle of this controller.
finalinherited
onStart → InternalFinalCallback<void>
Called at the exact moment the widget is allocated in memory. It uses an internal "callable" type, to avoid any @overrides in subclases. This method should be internal and is required to define the lifetime cycle of the subclass.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
rxState → Rx<State>
The current rxState.
latefinalinherited
state → State
The current state.
no setterinherited
stream Stream<State>
The current state stream.
no setterinherited

Methods

$configureLifeCycle() → void
inherited
addError(Object error, [StackTrace? stackTrace]) → void
Reports an error which triggers onError with an optional StackTrace.
inherited
addListener(GetStateUpdate listener) → Disposer
Register a closure to be called when the object notifies its listeners.
inherited
addListenerId(Object? key, GetStateUpdate listener) → Disposer
inherited
dispose() → void
inherited
disposeId(Object id) → void
To dispose an id from future updates(), this ids are registered by GetBuilder() or similar, so is a way to unlink the state change with the Widget from the Controller.
inherited
emit(State state) → void
Updates the state to the provided state. emit does nothing if the instance has been closed or if the state being emitted is equal to the current state.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyChildrens() → void
inherited
onChange(StateChange<State> change) → void
Called whenever a change occurs with the given change. A change occurs when a new state is emitted. onChange is called before the state of the StateController is updated. onChange is a great spot to add logging/analytics for a specific StateController.
inherited
onClose() → void
Closes the instance. This method should be called when the instance is no longer needed. Once onClose is called, the instance can no longer be used.
inherited
onError(Object error, StackTrace stackTrace) → void
Called whenever an error occurs and notifies controllerObserver.onError.
inherited
onInit() → void
Called immediately after the widget is allocated in memory. You might use this to initialize something for the controller.
inherited
onReady() → void
Called 1 frame after onInit(). It is the perfect place to enter navigation events, like snackbar, dialogs, or a new route, or async request.
inherited
refresh() → void
inherited
refreshGroup(Object id) → void
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that the object notifies.
inherited
removeListenerId(Object id, VoidCallback listener) → void
inherited
toString() String
A string representation of this object.
inherited
update([List<Object>? ids, bool condition = true]) → void
Rebuilds GetBuilder each time you call update(); Can take a List of ids, that will only update the matching GetBuilder( id: ), ids can be reused among GetBuilders like group tags. The update will only notify the Widgets, if condition is true.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited