E-Core

State

Riverpod providers and state management for E-Core

State Management

The State package provides reactive state management built on Riverpod.

Overview

e_core_state offers:

  • Base Providers - Pre-configured provider patterns
  • Async Notifiers - Async state handling with loading/error states
  • State Utilities - Helper extensions for common patterns

Installation

dependencies:
  e_core_state: ^1.0.0

Key Patterns

Async State Notifier

Handle async operations with built-in loading and error states:

class UsersNotifier extends AsyncNotifier<List<User>> {
  @override
  Future<List<User>> build() async {
    final repo = ref.watch(usersRepositoryProvider);
    return repo.getUsers();
  }

  Future<void> refresh() async {
    state = const AsyncLoading();
    state = await AsyncValue.guard(() => build());
  }
}

Provider Patterns

E-Core provides standardized provider patterns:

// Repository provider
final usersRepositoryProvider = Provider<UsersRepository>((ref) {
  return UsersRepositoryImpl(ref.watch(apiClientProvider));
});

// State provider
final usersProvider = AsyncNotifierProvider<UsersNotifier, List<User>>(() {
  return UsersNotifier();
});

Learn More

On this page