FutureProvider<T> class Null safety

Listens to a Future and exposes its result to child and its descendants.

It is considered an error to pass a future that can emit errors without providing a catchError method.

updateShouldNotify can optionally be passed to avoid unnecessarily rebuilding dependents when Provider is rebuilt but value did not change.

Defaults to (previous, next) => previous != next. See InheritedWidget.updateShouldNotify for more information.

See also:



FutureProvider({Key? key, required Create<Future<T>?> create, required T initialData, ErrorBuilder<T>? catchError, UpdateShouldNotify<T>? updateShouldNotify, bool? lazy, TransitionBuilder? builder, Widget? child})
Creates a Future from create and subscribes to it.
FutureProvider.value({Key? key, required Future<T>? value, required T initialData, ErrorBuilder<T>? catchError, UpdateShouldNotify<T>? updateShouldNotify, TransitionBuilder? builder, Widget? child})
Listens to value and expose it to all of FutureProvider descendants.


builder TransitionBuilder?
Syntax sugar for obtaining a BuildContext that can read the provider created.
final, inherited
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


build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
buildWithChild(BuildContext context, Widget? child) Widget
A build method that receives an extra child parameter.
createElement() → _InheritedProviderElement<T>
Creates a StatelessElement to manage this widget's location in the tree.
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.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
toStringShort() String
A short, textual description of this widget.


operator ==(Object other) bool
The equality operator.
@nonVirtual, inherited