DependencyProvider<T> class
Takes a Create
function that is responsible for creating the dependency
and a child
which will have access to the dependency via
DependencyProvider.of(context)
.
It is used as a dependency injection (DI) widget so that a single instance
of a dependency can be provided to multiple widgets within a subtree.
DependencyProvider(
create: (context) => DependencyA(),
child: ChildA(),
);
Lazily creates the dependency unless lazy
is set to false
.
DependencyProvider(
lazy: false,`
create: (context) => DependencyA(),
child: ChildA(),
);
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- SingleChildStatelessWidget
- DependencyProvider
- Implemented types
Constructors
-
DependencyProvider({Key? key, required Create<
T> create, Widget? child, bool? lazy}) -
Takes a
Create
function that is responsible for creating the dependency and achild
which will have access to the dependency viaDependencyProvider.of(context)
. It is used as a dependency injection (DI) widget so that a single instance of a dependency can be provided to multiple widgets within a subtree. - DependencyProvider.value({Key? key, required T value, Widget? child})
-
Takes a dependency and a child which will have access to the dependency.
A new dependency should not be created in
DependencyProvider.value
. Dependencies should always be created using the default constructor within theCreate
function.
Properties
- builder → TransitionBuilder?
-
Syntax sugar for obtaining a BuildContext that can read the provider
created.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
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(
) → _InheritedProviderElement< T> -
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, 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
Static Methods
-
of<
T> (BuildContext context, {bool listen = false}) → T -
Method that allows widgets to access a dependency instance as long as
their
BuildContext
contains a DependencyProvider instance.