Flutter uchun yengil state management yechimi.

Riverpod'ning reaktiv arxitekturasi kuchini code generation va katta dependencieslarsiz his qiling.

Code Gen yo'q

Oddiy Dart klasslari va providerlarni yozing. build_runner kerak emas.

Yengil

50KB dan kichik footprint. Performance'ga sezgir ilovalar uchun ideal.

Built-in Concurrency

Riverpod'ning nafis state-reading syntax'idan bevosita ilhomlangan.

Birinchi qadamlar

miniriverpod'ni Flutter loyihangizga bir necha daqiqada qo'shishni o'rganing.

O'rnatish

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

Asl Riverpod'dan farqli ravishda, Provider + AsyncProvider + WidgetRef faqat Flutter ilovalariga qaratilgan va standalone Dart loyihalarini qo'llab-quvvatlamaydi. Bu ichki logikaning 70% ni qisqartirib, yaxshi performance beradi.