Flutter ਲਈ ਹਲਕਾ state management ਹੱਲ।

Riverpod ਦੀ reactive architecture ਦੀ ਸ਼ਕਤੀ ਦਾ ਅਨੁਭਵ ਕਰੋ—ਬਿਨਾ code generation ਦੀ ਜਟਿਲਤਾ ਜਾਂ ਵੱਡੇ dependency footprint ਦੇ।

ਕੋਡ ਜੇਨੇਰੇਸ਼ਨ ਨਹੀਂ

ਸਟੈਂਡਰਡ Dart ਕਲਾਸਾਂ ਅਤੇ providers ਲਿਖੋ। build_runner ਦੀ ਲੋੜ ਨਹੀਂ।

ਹਲਕਾ

50KB ਤੋਂ ਘੱਟ footprint। ਪਰਫ਼ਾਰਮੈਂਸ-ਕ੍ਰਿਟਿਕਲ ਐਪਾਂ ਲਈ ਉਤਮ।

Built-in Concurrency

Riverpod ਦੀ ਸੁੰਦਰ state-reading syntax ਤੋਂ ਪ੍ਰੇਰਿਤ।

ਪਹਿਲੇ ਕਦਮ

ਕੁਝ ਮਿੰਟਾਂ ਵਿੱਚ ਆਪਣੇ Flutter ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ miniriverpod ਇਕੱਠਾ ਕਰਨਾ ਸਿੱਖੋ।

ਇੰਸਟਾਲੇਸ਼ਨ

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

ਮੂਲ Riverpod ਤੋਂ ਵੱਖਰਾ, Provider + AsyncProvider + WidgetRef ਖਾਸ ਤੌਰ 'ਤੇ Flutter ਐਪਾਂ ਨੂੰ ਟਾਰਗੇਟ ਕਰਦਾ ਹੈ ਅਤੇ standalone Dart ਪ੍ਰੋਜੈਕਟਾਂ ਨੂੰ ਸਪੋਰਟ ਨਹੀਂ ਕਰਦਾ। ਇਸ ਨਾਲ ਅਸੀਂ ਅੰਦਰੂਨੀ ਲੌਜਿਕ ਦਾ 70% ਘਟਾ ਕੇ ਪਰਫ਼ਾਰਮੈਂਸ ਬਿਹਤਰ ਕੀਤਾ।