easy_rxmvvm library

Classes

BaseViewModelFactory<T extends ViewModel>
ViewModelFactory 抽象基类
ConsumerStatefulElement
ConsumerStatefulElement 用于处理 ViewModel 的上下文更新
DisposeBag
EventAction<T>
事件动作,包含事件类型和可选的数据
EventBus
全局事件总线(静态调用)
RxLogger
RxOb
StreamBuilderFactory
不关心AsyncSnapshot状态,只关注数据变化
StreamOb
面向任意 Stream
ViewModel
ViewModel 的基类,提供配置功能
ViewModelConsumer
ViewModelConsumer 组件,允许在 Widget 树中消费 ViewModel
ViewModelConsumerStatefulWidget
ViewModelConsumer 的基类
ViewModelContainer
ViewModel 容器,用于管理当前 context 的 ViewModel
ViewModelFactory<T extends ViewModel>
默认的 ViewModelFactory 实现
ViewModelProvider<T extends ViewModel>
一个 InheritedWidget,用于提供 ViewModel 给子 Widget
ViewModelStack<T extends ViewModel>
ViewModelStack 用于管理 ViewModel 的堆栈
ViewModelState<T extends ViewModelConsumerStatefulWidget, VM extends ViewModel>
简化版 State 基类,用于单一 ViewModel 的页面

Enums

ViewModelShareStrategy
ViewModel共享策略

Mixins

ContextProviderMixin
获取BuildContext的Mixin
DispatchActionMixin<T>
事件分发 Mixin
DisposeBagMixin
DisposeBagMixin,用于在 State 中统一管理所有的 Subscription 和其他需要 dispose 的对象
DisposeBagProvider
DisposeMixin
RetrieveViewModelMixin<T extends ViewModel, W extends StatefulWidget>
RetrieveViewModelMixin 用于在 State 中检索 ViewModel
SingleViewModelMixin<T extends ViewModel, W extends StatefulWidget>
只创建一个ViewModel
StateMixin<TState>
StateMixin
ViewModelConsumerStateMixin<T extends StatefulWidget>
ViewModel 的生命周期管理

Functions

nullNotifier<T>([T? initial]) ValueNotifier<T?>
创建一个可空的 ValueNotifier (初始值为 null 或指定值)
nullRx<T>([T? initial]) → BehaviorSubject<T?>
创建一个可空的 BehaviorSubject (初始值为 null 或指定值)

Typedefs

DispatchActionListener<T> = void Function(EventAction<T> action)
DisposeHandler = void Function()
dispose回调函数
LogCallback = void Function(String message)
RetrieveViewModelBuilder<T extends ViewModel> = Widget Function(BuildContext context, T? viewModel, Widget? child)
SingleViewModelBuilder<T extends ViewModel> = Widget Function(BuildContext context, T viewModel, Widget? child)
StreamConsumerBuilder<T> = Widget Function(BuildContext context, T data, Widget? child)
StreamOperator<T> = Stream<T> Function(Stream<T>)