Features

基于RxDart 实现的MVVM状态管理工具

  • ViewModel与BuildContext 完全解偶, 可以独立Flutter进行测试.
  • Stream级联刷新, 逐层传递.

Getting started

run example:

# simple example: reactive viewmodel
flutter run example/ex1_simple.dart

Usage

/// Model
class UserModel {
  String chosenUserId;

  UserModel({
    required this.chosenUserId,
  });
  @override
  String toString() => 'UserModel{chosenUserId: $chosenUserId}';
}

/// ViewModel
class UserViewModel extends HsViewModel<UserModel> {
  @override
  final UserModel initValue;

  UserViewModel({required this.initValue});

  chosenUser(String userId) async {
    update((old) {
      return old..chosenUserId = userId;
    });
  }
}

main(){
  /// create
  final vmGlobalUser = UserViewModel(
      initValue: UserModel(
        chosenUserId: 'user-111',
      ));

  /// use
  vmGlobalUser.chosenUser('user-222');
}

Libraries

hive_mvvm
hive_state