• 售前

  • 售后

热门帖子
入门百科

使用 Provider 改造屎一样的代码,代码量降低了2/3

[复制链接]
章牛险 显示全部楼层 发表于 2022-1-12 18:43:57 |阅读模式 打印 上一主题 下一主题
前言

之前的几篇我们写了状态管理的机制和状态管理插件,接下来几篇我们就使用官方推荐的 Provider 来改造旧的代码,你会发现改造前后具有十分大的差别。
Provider 简介

Provider 当前最新版本是5.0.0,使得组件树能够共享状态数据的方式为:
  1. Provider (
  2.   create: (_) => Model(),
  3.   child: someWidget(),
  4. );
复制代码
Provider类本身并不会在状态改变的时候自动更新子组件,因此更常用的是使用其子类:


  • ListenableProvider:监听实现了 Listenable 的的对象,并将其暴露给下级组件。当触发一个事件后会通知子组件依赖发生变化进而实现重建。
  • ChangeNotifierProvider:最为常用的一个方式,是ListenableProvider的子类。监听实现了 ChangeNotifier 接口的对象,当该对象调用 notifyListeners 的时候,就会通知全部的监听组件更新组件。
  • ValueListenableProvider:监听实现了ValueListenable接口的对象。当该对象改变时,会更新其下级组件。
  • StreamProvider:监听 Stream 对象,然后将其内容暴露给子组件。通常是向一个组件以流的方式提供大量的内容,

来源:https://blog.caogenba.net/shuijian00/article/details/122418797
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作