ਪੜ੍ਹਨ ਦੇ ਰਾਹ: watch, read ਅਤੇ listen।
Provider synchronous state ਦਿੰਦਾ ਹੈ। AsyncProvider AsyncValue ਵਾਪਸ ਕਰਦਾ ਹੈ ਅਤੇ ਸਖ਼ਤ lifecycle handling ਨਾਲ Future ਅਤੇ Stream ਪੇਸ਼ ਕਰ ਸਕਦਾ ਹੈ।
Provider ਕਿਸਮਾਂ
data source ਅਤੇ update frequency ਦੇ ਅਧਾਰ ਤੇ provider type ਚੁਣੋ।
Provider<T>
ਸਿੰਕ੍ਰੋਨਸ values ਅਤੇ local derived state
AsyncProvider<T>
Future/Stream-ਅਧਾਰਿਤ state ਵਜੋਂ AsyncValue<T>
provider.future
Provider<Future<T>> expose ਕਰਨ ਵਾਲਾ selector
ਸੁਝਾਅ
ਜੇ state network ਜਾਂ stream ਤੋਂ ਆਉਂਦਾ ਹੈ, ਤਾਂ ਪਹਿਲਾਂ AsyncProvider ਚੁਣੋ। Provider ਨੂੰ pure synchronous logic ਲਈ ਰੱਖੋ।
ਪੜ੍ਹਨ API ਮੈਟ੍ਰਿਕਸ
build paths ਵਿੱਚ watch, one-shot access ਲਈ read, ਅਤੇ side effects ਲਈ listen ਵਰਤੋ।
ਸਭ ਤੋਂ ਆਮ
watch / read / listen
ref.watch(provider) : subscribe and rebuild when value changes.
ref.read(provider) : read current snapshot without subscribing.
container.listen(...) : callback-driven updates; optional fireImmediately.
AsyncProvider ਨਾਲ Future ਅਤੇ Stream
ਇੱਕ AsyncProvider Future ਵਾਪਸ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ref.emit(stream) ਨਾਲ Stream ਜੋੜ ਸਕਦਾ ਹੈ।
final currentUser = AsyncProvider<User>((ref) async {
final api = ref.watch(apiProvider);
return api.me();
});
final liveUser = AsyncProvider<User>((ref) {
final stream = ref.watch(apiProvider).live();
ref.emit(stream);
return const User(name: 'Loading...');
}, autoDispose: true, autoDisposeDelay: const Duration(milliseconds: 250));
// Await as Future
final user = await ref.watch(currentUser.future);
ਅਗਲੇ ਕਦਮ
Mutations
write operations ਨੂੰ provider methods ਵਿੱਚ ਲਿਜਾਓ ਅਤੇ ref.invoke ਰਾਹੀਂ ਚਲਾਓ।
Flutter API ਖੋਲ੍ਹੋ