miniriverpod'ду бир нече мүнөттө орнотуңуз.
SDK чектөөлөрүн белгилеп, пакетти кошуп, ProviderScope менен WidgetRef.watch туура туташканын текшериңиз.
Code Generation жок
family сыяктуу provider'лер, override'лер жана dependency injection code generation жок эле subclass + args + Scope аркылуу моделденет.
Бириктирилген асинхрондук модель
Бир AsyncProvider Future жана Stream экөөнү тең колдойт жана rebuild, invalidate, refresh, dispose учурунда катуу токтотулат.
Built-in Concurrency
Mutation чакыруулары ref.invoke(provider.method()) аркылуу concurrent, queue, restart жана dropLatest режимдерин колдойт.
Сунушталган баштапкы жол
App'ыңызды ProviderScope менен ороп, Provider/AsyncProvider класстарын аныктап, ref.invoke аркылуу ачык concurrency менен state жаңыртууларын жүргүзүүнү үйрөнүңүз.
Орнотуу
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Кийинки
Орнотуу