ភាពងាយស្រួលបែប 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។
Concurrency ភ្ជាប់ក្នុង
ការហៅ mutation គាំទ្រ concurrent, queue, restart និង dropLatest តាមរយៈ ref.invoke(provider.method())។
លំហូរចាប់ផ្តើមដែលណែនាំ
រុំព័ទ្ធកម្មវិធីរបស់អ្នកដោយ ProviderScope, កំណត់ class Provider/AsyncProvider ហើយរត់ការអាប់ដេតស្ថានភាពតាម ref.invoke ជាមួយ concurrency ច្បាស់លាស់។
ដំឡើង
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'));
កំណត់ចំណាំអំពីភាពឆបគ្នា
miniriverpod មានចេតនារក្សា Provider + AsyncProvider + WidgetRef ភាពជិតស្និទ្ធនឹង Riverpod ប៉ុន្តែជំនួសផ្លូវ codegen ធ្ងន់ៗដោយ subclass + args, ការចាក់តាម Scope និងការហៅ mutation ច្បាស់លាស់។
មុន
Open Sourceបន្ទាប់
ការដំឡើង