വ്യക്തമായ 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

lib/main.dart
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

അടുത്തത്

ഇൻസ്റ്റലേഷൻ