ಓದುವ ಮಾರ್ಗಗಳು: watch, read ಮತ್ತು listen.
Provider synchronous state ನೀಡುತ್ತದೆ. AsyncProvider AsyncValue ಅನ್ನು ಮರಳಿಸುತ್ತದೆ ಮತ್ತು ಕಠಿಣ lifecycle handling ಜೊತೆಗೆ Future ಮತ್ತು Stream ಅನ್ನು ಒದಗಿಸಬಹುದು.
Provider ವಿಧಗಳು
data source ಮತ್ತು update frequency ಆಧಾರವಾಗಿ provider type ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ.
Provider<T>
Synchronous values ಮತ್ತು local derived state
AsyncProvider<T>
Future/Stream-ಚಾಲಿತ ಸ್ಥಿತಿ 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 ತೆರೆಯಿರಿFlutter API
Consumer, ConsumerWidget, ಮತ್ತು ConsumerStatefulWidget ನಡುವೆ ಆಯ್ಕೆ ಮಾಡಿ.
API Reference ತೆರೆಯಿರಿ