BasePageStatelessDelegate<B extends IStateManager<Object?> > class
abstract
A base page for widgets that use either a Bloc or a Cubit and hold no state of their own beyond the injected state manager.
Type Parameters:
B: The type of state manager (Bloc or Cubit) this page will use.
The delegate handles:
- Dependency injection setup
- Common bloc integration
- Navigation setup
- Loading overlay management
This is a StatefulWidget
It was previously a StatelessWidget carrying late final fields for its
resolved dependencies. That is unsound: Flutter may reconstruct a widget on
any parent rebuild, and the new instance resolves its own stateManager
while the element tree keeps providing the one built for the element — so
bloc.add(...) sent events to an instance nothing rendered. Resolution now
lives in the State, which is what actually persists across rebuilds.
buildPage receives the state manager as an argument rather than reading a
field, so what a page renders and what it sends events to cannot diverge.
Subclasses may also declare const constructors again.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- BasePageStatelessDelegate
- Implementers
Constructors
- BasePageStatelessDelegate({Key? key})
-
const
Properties
Methods
-
buildLoadingOverlay(
{required Widget child, String? loadingKey = LoadingKey.global, Widget? loadingWidget}) → Widget -
buildPage(
BuildContext context, B stateManager) → Widget - Builds the main content of the page.
-
buildPageListeners(
{required Widget child}) → Widget - Builds any additional bloc listeners.
-
buildPageLoading(
) → Widget - Builds the loading indicator widget.
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< BasePageStatelessDelegate< B> > -
Creates the mutable state for this widget at a given location in the tree.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited