FutureProvider<T> class
A FutureProvider allows you to watch a Future in your widgets. The value is cached and only fetched once.
Usage: final myProvider = FutureProvider((ref) async { return await fetchApi(); }
Example use cases:
- fetch static data from an API (that does not change)
- fetch device information (that does not change)
Constructors
-
FutureProvider(Future<
T> _builder(WatchableRef ref), {ProviderChangedCallback<AsyncValue< ? onChanged, String describeState(AsyncValue<T> >T> state)?, String? debugLabel, bool debugVisibleInGraph = true})
Properties
- customDebugLabel → String?
-
A custom label used by debug tools.
finalinherited
- debugLabel → String
-
A label to be used in debug messages and
by the
RefenaTracingPage
.no setterinherited - debugVisibleInGraph → bool
-
Set this flag to false to hide the provider from the
RefenaGraphPage
. By default, all providers are visible in the graph. However, some providers add unnecessary noise.finalinherited - hashCode → int
-
The hash code for this object.
no setterinherited
-
provider
→ BaseProvider<
FutureProviderNotifier< T> , AsyncValue<T> > -
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
createState(
ProxyRef ref) → FutureProviderNotifier< T> -
getActualProvider(
BaseNotifier< Object?> notifier) → FutureProvider<T> -
inherited
-
getSelectedState(
FutureProviderNotifier< T> notifier, AsyncValue<T> state) → AsyncValue<T> -
The default behavior to return the whole state when
using
ref.watch(provider)
.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
overrideWithFuture(
Future< T> builder(Ref ref)) → ProviderOverride<FutureProviderNotifier< T> , AsyncValue<T> > - Overrides the future.
-
select<
R> (R selector(AsyncValue< T> state)) → SelectedWatchable<FutureProviderNotifier< T> , AsyncValue<T> , R> -
Used for ref.watch(provider.select(...)).
Select a part of the state.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
Subclasses should not override this method.
It is used internally by RefenaContainer to map a provider to a state.
inherited
Static Methods
-
family<
T, P> (FutureFamilyBuilder< T, P> future, {String describeState(AsyncValue<T> state)?, String? debugLabel, bool debugVisibleInGraph = true}) → FutureFamilyProvider<T, P> - A shorthand for FutureFamilyProvider.