ភាពងាយស្រួលបែប Riverpod ជាមួយអាកប្បកិរិយា runtime ច្បាស់លាស់។

miniriverpod រក្សា Provider និង AsyncProvider ឱ្យស្គាល់ងាយ ប៉ុន្តែបង្រួមអាកប្បកិរិយាទៅជា API ច្បាស់លាស់៖ subclass + args សម្រាប់អត្តសញ្ញាណបែប family, mutation tokens សម្រាប់ការអាប់ដេត និង lifecycle disposal ដែលអាចទស្សន៍ទាយបាន។

គ្មានការបង្កើតកូដ

provider បែប family, overrides និង dependency injection ត្រូវបានបង្កើតគំរូដោយ subclass + args + Scope ដោយគ្មាន code generation។

ម៉ូឌែល async រួមបញ្ចូល

AsyncProvider តែមួយគ្រប់គ្រង Future និង Stream ជាមួយនឹងការលុបចោលយ៉ាងតឹងរឹងនៅពេល rebuild, invalidate, refresh និង dispose។

Built-in Concurrency

ការហៅ mutation គាំទ្រ concurrent, queue, restart និង dropLatest តាមរយៈ ref.invoke(provider.method())។

លំហូរចាប់ផ្តើមដែលណែនាំ

រុំព័ទ្ធកម្មវិធីរបស់អ្នកដោយ ProviderScope, កំណត់ class Provider/AsyncProvider ហើយរត់ការអាប់ដេតស្ថានភាពតាម ref.invoke ជាមួយ concurrency ច្បាស់លាស់។

ដំឡើង

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 និងការហៅ mutation ច្បាស់លាស់។

មុន

Open Source

បន្ទាប់

ការដំឡើង