miniriverpod'ду бир нече мүнөттө орнотуңуз.

SDK чектөөлөрүн белгилеп, пакетти кошуп, ProviderScope менен WidgetRef.watch туура туташканын текшериңиз.

Code Generation жок

family сыяктуу provider'лер, override'лер жана dependency injection code generation жок эле subclass + args + Scope аркылуу моделденет.

Бириктирилген асинхрондук модель

Бир AsyncProvider Future жана Stream экөөнү тең колдойт жана rebuild, invalidate, refresh, dispose учурунда катуу токтотулат.

Ички concurrency колдоосу

Mutation чакыруулары ref.invoke(provider.method()) аркылуу concurrent, queue, restart жана dropLatest режимдерин колдойт.

Сунушталган баштапкы жол

App'ыңызды ProviderScope менен ороп, Provider/AsyncProvider класстарын аныктап, ref.invoke аркылуу ачык concurrency менен state жаңыртууларын жүргүзүүнү үйрөнүңүз.

Орнотуу

flutter pub add miniriverpod

Mutation + чакыруу

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,
  );
}

// Колдонуучу интерфейси
await ref.invoke(userProvider.rename('Alice'));
Шайкештик тууралуу эскертүү

miniriverpod атайын Provider + AsyncProvider + WidgetRef Riverpodго жакын бойдон калат, бирок codegen көп талап кылган жолдорду subclass + args, Scope аркылуу injection жана ачык mutation чакыруулары менен алмаштырат.

Мурунку

Ачык булак

Кийинки

Орнотуу