MobX 实现 Flutter 多组件的状态共享

本文探讨了Flutter中使用MobX进行状态管理时如何共享状态。分别介绍了逐级传递状态、结合Provider以及使用GetIt容器三种方法,并指出GetIt容器方式在简洁性和组件耦合度上的优势。
摘要由CSDN通过智能技术生成

前言

前面3篇我们介绍了 MobX 的概念和使用, MobX 使用起来确实很简单,也很高效。但是, MobX 也有一个缺陷,那就是如果状态数据要共享的时候,我们并不能像 Provider 或 Redux 那样将状态对象提升到共同上级组件来完成。还是以点赞和收藏按钮的界面为例。两个按钮是独立的组件,点击时都会增加对应的数量,两个组件共享一个状态对象。

image.png

MobX 共享方式一:逐级传递

由于 MobX 本身不支持上级组件状态可以被下级组件共享,因此我们想到的最简单的方式就是将状态对象传递给下级组件。

class DynamicDetailWrapper extends StatelessWidget {
  final store = ShareStore();
  DynamicDetailWrapper({Key? key}) : super(key: key);
  
  @override
  Widget build(BuildContext context) {
    //...
    		children: [
          _PraiseButton(store: store
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岛上码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值