ReactterProvider<T extends ReactterContext> class
A wrapper StatelessWidget that provides a ReactterContext's instance of T
to widget tree that can be access through the BuildContext.
ReactterProvider(
() => AppContext(),
builder: (context, child) {
final appContext = context.watch<AppContext>();
return Text("state: ${appContext.stateHook.value}");
},
)
IMPORTANT: Don's use ReactterContext with constructor parameters to prevent conflicts. Instead of it, use onInit method to access its instance and put the data you need.
NOTE: ReactteProvider
is a "scoped". So it contains a ReactterScope
which the builder callback will be rebuild, when the ReactterContext changes.
For this to happen, the ReactterContext should put it on listens
for BuildContext's watch
ers.
If you want to create a different ReactterContext's instance, use id parameter.
If you don't want to rebuild a part of builder callback, use the child property, it's more efficient to build that subtree once instead of rebuilding it on every ReactterContext changes.
ReactterProvider(
() => AppContext(),
child: Text("This widget build only once"),
builder: (context, child) {
final appContext = context.watch<AppContext>();
return Column(
children: [
Text("state: ${appContext.stateHook.value}"),
child,
],
);
},
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- ReactterProviderAbstraction<
ReactterContext> - ReactterProvider
Constructors
-
ReactterProvider(ContextBuilder<
T> instanceBuilder, {Key? key, String? id, bool init = false, OnInitContext<T> ? onInit, Widget? child, TransitionBuilder? builder}) -
const
Properties
- builder → TransitionBuilder?
-
Method which has the render logic
final
- child → Widget?
-
Provides a widget , which render one time.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String?
-
Id usted to identify the context
final
- init → bool
-
Create the instance defined
on firts parameter
_instanceBuilder
when UseContext is called.final -
instanceBuilder
→ ContextBuilder<
T> -
Create a instances of ReactterContext class
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
onInit
→ OnInitContext<
T> ? -
Invoked when instance defined
on firts parameter
_instanceBuilder
is createdfinal - 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.
override
-
createElement(
) → ReactterProviderElement -
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
Static Methods
-
contextOf<
T extends ReactterContext?> (BuildContext context, {String? id, ListenHooks< T> ? listenHooks, bool listen = true}) → T -
Returns a
_instance
ofT
and puts contexts listen to when it should be re-rendered