ಸ್ಪಷ್ಟ runtime ವರ್ತನೆಯೊಂದಿಗೆ Riverpod-ಶೈಲಿಯ ಅನುಭವ.
miniriverpod, Provider ಮತ್ತು AsyncProvider ಅನ್ನು ಪರಿಚಿತವಾಗಿಯೇ ಇಡುತ್ತದೆ, ಆದರೆ ವರ್ತನೆಯನ್ನು ಸ್ಪಷ್ಟ API ಗಳಿಗೆ ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ: ಕುಟುಂಬದಂತಿರುವ ಗುರುತಿಗಾಗಿ subclass + args, updatesಗಾಗಿ mutation tokens, ಮತ್ತು ಊಹಿಸಬಹುದಾದ lifecycle disposal.
ಕೋಡ್ ಜನರೇಷನ್ ಇಲ್ಲ
family-like providers, overrides, ಮತ್ತು dependency injection ಅನ್ನು subclass + args + Scope ಮೂಲಕ, code generation ಇಲ್ಲದೆ ರೂಪಿಸಲಾಗಿದೆ.
ಏಕೀಕೃತ ಅಸಿಂಕ್ ಮಾದರಿ
ಒಂದೇ AsyncProvider Future ಮತ್ತು Stream ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, rebuild, invalidate, refresh, ಮತ್ತು dispose ಸಂದರ್ಭದಲ್ಲಿ ಕಠಿಣ cancellation ಜೊತೆಗೆ.
Built-in Concurrency
Mutation ಕರೆಗಳು ref.invoke(provider.method()) ಮೂಲಕ concurrent, queue, restart, ಮತ್ತು dropLatest ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ.
ಶಿಫಾರಸು ಮಾಡಿದ ಆರಂಭಿಕ ಪಥ
ನಿಮ್ಮ ಆಪ್ ಅನ್ನು ProviderScope ಮೂಲಕ ಸುತ್ತುವರಿಸಿ, Provider/AsyncProvider ಕ್ಲಾಸ್ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ, ಮತ್ತು ಸ್ಪಷ್ಟ concurrency ಜೊತೆಗೆ ref.invoke ಮೂಲಕ state updates ನಡೆಸಿರಿ.
ಇನ್ಸ್ಟಾಲೇಶನ್
flutter pub add miniriverpod
Mutation + Invoke
class UserProvider extends AsyncProvider<User?> {
UserProvider() : super.args(null);
late final renameMut = mutation<void>(#rename);
Call<void, AsyncValue<User?>> rename(String name) => mutate(
renameMut,
(ref) async {
final api = ref.watch(apiProvider);
await api.rename(name);
ref.state = AsyncData(await api.me());
},
concurrency: Concurrency.restart,
);
}
// UI
await ref.invoke(userProvider.rename('Alice'));
Compatibility Note
miniriverpod ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ Provider + AsyncProvider + WidgetRef Riverpodಗೆ ಸಮೀಪದಲ್ಲೇ ಇರುತ್ತದೆ, ಆದರೆ codegen-ಭಾರಿತ ಮಾರ್ಗಗಳನ್ನು subclass + args, Scope-ಆಧಾರಿತ injection, ಮತ್ತು ಸ್ಪಷ್ಟ mutation ಕರೆಯೊಂದಿಗೆ ಬದಲಿಸುತ್ತದೆ.
ಹಿಂದೆ
Open Sourceಮುಂದೆ
ಇನ್ಸ್ಟಾಲೇಶನ್