0
点赞
收藏
分享

微信扫一扫

从源码解析 MobX 响应式刷新机制

九月的栩 2022-03-12 阅读 35

前言

MobX 的设计似乎很神奇,感觉使用了一个 Observer 后就能自动跟踪状态对象的变化,实现响应式刷新。这个具体是如何实现的呢?我们来从源码梳理一下。

Observer 类

Observer 类的类关系图如下图所示。

MobX 核心类关系

这里面有几个关键的类,我们一一进行介绍。

StatelessObserverWidget

abstract class StatelessObserverWidget extends StatelessWidget
    with ObserverWidgetMixin {
  /// Initializes [key], [context] and [name] for subclasses.
  const StatelessObserverWidget(
      {Key? key, ReactiveContext? context, String? name})
      : _name = name,
        _context = context,
        super(key: key);

  final String? _name;
  final ReactiveContext? _context;

  @override
  String getName() => _name ?? '$this';

  @override
  ReactiveContext getContext() =
举报

相关推荐

0 条评论