വ്യക്തമായ runtime പെരുമാറ്റത്തോടെയുള്ള Riverpod-ശൈലി അനുഭവം.
miniriverpod Provider-യും AsyncProvider-യും പരിചിതമായി നിലനിർത്തുന്നു, പക്ഷേ പെരുമാറ്റം വ്യക്തമായ APIകളിലേക്ക് ചുരുക്കുന്നു: family പോലെയുള്ള തിരിച്ചറിയലിനായി subclass + args, updates-ന് mutation tokens, കൂടാതെ പ്രവചനയോഗ്യമായ lifecycle disposal.
Code Generation ഇല്ല
family പോലെയുള്ള providers, overrides, dependency injection എന്നിവ code generation ഇല്ലാതെ subclass + args + Scope ഉപയോഗിച്ച് മാതൃകീകരിക്കുന്നു.
ഏകീകൃത Async മോഡൽ
ഒരു AsyncProvider Future-നും Stream-നും കൈകാര്യം ചെയ്യുന്നു, rebuild, invalidate, refresh, dispose സമയങ്ങളിൽ കർശനമായ cancellation സഹിതം.
Built-in Concurrency
Mutation calls ref.invoke(provider.method()) വഴി concurrent, queue, restart, dropLatest എന്നിവ പിന്തുണയ്ക്കുന്നു.
ശുപാർശ ചെയ്യുന്ന ആരംഭ പാത
നിങ്ങളുടെ ആപ്പിനെ ProviderScope ഉപയോഗിച്ച് മൂടി, Provider/AsyncProvider ക്ലാസുകൾ നിർവചിച്ച്, ref.invoke മുഖേന വ്യക്തമായ concurrency-യോടെ 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-heavy മാർഗങ്ങളെ subclass + args, Scope-based injection, വ്യക്തമായ mutation calls എന്നിവ കൊണ്ട് മാറ്റിസ്ഥാപിക്കുന്നു.
മുമ്പ്
Open Sourceഅടുത്തത്
ഇൻസ്റ്റലേഷൻ