MultiStateHolder class Null safety

MultiStateHolder

A StateHolder that merges multiple StateHolders into a single linear widget tree. It is used to improve readability and reduce boilerplate code of having to nest multiple layers of StateHolders.


As such, we're going from:

import 'package:state_holder/state_holder.dart';
....
....
StateHolder<Something>(
  builder : (context) => Something(),
  child : StateHolder<SomethingElse>(
    builder : (context) => SomethingElse(),
    child StateHolder<AnotherThing>(
      builder : (context) => AnotherThing(),
      child : App(),
    ),
  ),
),
....
....


To:

import 'package:state_holder/state_holder.dart';
....
....
MultiStateHolder(
  stateHolders : [
    StateHolder<Something>(
      builder : (context) => Something()
    ),
    StateHolder<SomethingElse>(
      builder : (context) => SomethingElse(),
    ),
    StateHolder<AnotherThing>(
      builder : (context) => AnotherThing(),
    ),
  ],
  child : App(),
),
....
....

Inheritance

Constructors

MultiStateHolder({Key? key, required List<SingleChildWidget> stateHolders, required Widget child})

Properties

child Widget
final
hashCode int
The hash code for this object.
@nonVirtual, read-only, inherited
key Key?
Controls how one widget replaces another widget in the tree.
final, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
stateHolders List<SingleChildWidget>
final

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
@protected, inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
nested([int index = 0]) Widget
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent 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}) 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.
@nonVirtual, inherited