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

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 көп талап кылган жолдорду subclass + args, Scope аркылуу injection жана ачык mutation чакыруулары менен алмаштырат.

Мурунку

Open Source

Кийинки

Орнотуу