StateNotifierProvider<Controller extends StateNotifier<Value> , Value> class
abstract
A provider for StateNotifier, which exposes both the controller and its StateNotifier.state.
It can be used like most providers.
Consider the following StateNotifier:
class MyController extends StateNotifier<MyValue> {
...
}
Then we can expose it to a Flutter app by doing:
MultiProvider(
providers: [
StateNotifierProvider<MyController, MyValue>(create: (_) => MyController()),
],
)
This will allow both:
context.watch<MyController>()
context.watch<MyValue>()
Note that watching MyController
will not cause the listener to rebuild when
StateNotifier.state updates.
- Implemented types
Constructors
-
StateNotifierProvider({Key? key, required Create<
Controller> create, bool? lazy, TransitionBuilder? builder, Widget? child}) -
Creates a StateNotifier instance and exposes both the StateNotifier
and its StateNotifier.state using
provider
.factory - StateNotifierProvider.value({Key? key, required Controller value, TransitionBuilder? builder, Widget? child})
-
Exposes an existing StateNotifier and its
value
.factory
Properties
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
inherited
-
buildWithChild(
BuildContext context, Widget? child) → Widget -
A build method that receives an extra
child
parameter.inherited -
createElement(
) → SingleChildStatelessElement -
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.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}) → 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