如何在 MobX Flutter 中对复杂结构运行反应

问题描述

我试图理解 MobX 如何观察 chages。例如: 我有一个名为 User 的对象,用于存储用户数据。它使用 GetIt 单例在多个地方使用。我有一个通用的应用程序头,我通过这样做观察用户名

Observer(builder: (_) => Text(userStore.user.name))

并且我有我正在编辑用户信息的表单页面。更改名称看起来像:

Observer(
          builder: (_) => TextFormField(
                initialValue: _userStore.user.name,decoration: Inputdecoration(
                    labelText: 'Name'),onChanged: (value) => _userStore.user.name = value,))

因此理论上它不应该观察 shanges,因为 User 的 reffrence 没有改变。理论上我想使用 ObservableMap 来做到这一点。但这有效......为什么?

此外,当我尝试对 user 对象或 user.name 对象添加反应时,反应不会运行。

所以也许有人可以解释我如何在复杂的结构上运行操作,比如地图内的地图?

解决方法

所以在一天结束时,我能够掌握有关 MobX 工作原理的信息。

标题上的用户名令人耳目一新,因为整个页面都在重新构建 如果引用 eof 对象更改,则用户对象将触发更改 如果 user.name 被标记为 @observable

,它就会改变