સ્પષ્ટ runtime વર્તન સાથે Riverpod-શૈલીની ergonomics.
miniriverpod Provider અને AsyncProvider ને પરિચિત રાખે છે, પણ વર્તનને સ્પષ્ટ API સુધી મર્યાદિત કરે છે: family જેવી identity માટે subclass + args, અપડેટ માટે mutation tokens, અને આગોતરા lifecycle disposal.
Code Generation નથી
family જેવા providers, overrides, અને dependency injection ને subclass + args + Scope વડે model કરવામાં આવે છે, code generation વગર.
એકસમાન Async Model
એક AsyncProvider Future અને Stream બન્ને સંભાળે છે, rebuild, invalidate, refresh, અને dispose વખતે કડક cancellation સાથે.
Built-in Concurrency
Mutation calls ref.invoke(provider.method()) દ્વારા concurrent, queue, restart, અને dropLatest ને સપોર્ટ કરે છે.
ભલામણ કરેલ શરૂઆતનો પ્રવાહ
ProviderScope સાથે તમારા app ને wrap કરો, Provider/AsyncProvider classes define કરો, અને explicit 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-heavy માર્ગોને subclass + args, Scope આધારિત injection, અને explicit mutation calls સાથે બદલે છે.
પાછળ
Open Sourceઆગળ
ઇન્સ્ટોલેશન