Flutter使用provide状态管理器管理界面

Flutter _ 状态管理特别篇 —— Provide [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KODLf3V0-1651125099575)(https://user-gold-cdn.xitu.io/2019/2/20/1690b552df50d005?imageView2/0/w/1280/h/960/ignore-error/1)] 实际添加请参考:[pub.dartlang.org/packages/pr…](() 由于版本冲突添加失败请参考: [juejin.im/post/684490…](() 第二步:创 阅读详情

先看图,没图说个J8

Provide是Google官方推出的状态管理模式。(Google的亲儿子)
github地址为:https://github.com/google/flutter-provide

使用步骤如下:

1.在pubspec.yaml添加依赖

provide: ^1.0.2

2.创建add.dart文件

import 'package:flutter/material.dart';

class Counter with ChangeNotifier{
  int value = 0;
 //内部方法
  increment(){
    value ++;
    notifyListeners();
  }
}

3.在main.dart中注册provide

import 'package:flutter_shop/provide/add.dart';
import 'package:provide/provide.dart';
void main() {
  var counter = Counter();
  providers
    ..provide(Provider<Counter>.value(counter));
  runApp(ProviderNode(child: MyApp(), providers: providers));
}

3.界面具体调用如下:

import 'package:flutter/material.dart';
import 'package:provide/provide.dart';
import 'add.dart';
class Number extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      margin: EdgeInsets.only(top: 200),
      child: Provide<Counter>(
        builder:(context,child,counter){
          return Text('${counter.value}');
        }
      )
    );
  }
}

class Button extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: RaisedButton(
        onPressed: (){
          Provide.value<Counter>(context).increment();
        },
        child: Text('递增'),),
    );
  }
}
flutter 新状态管理方案 Provide (一)-使用 开这篇文章是因为看到这个库被托管在google的仓库下,而且说明是被设计出来替代ScopedModel的,而且更加灵活 支持Builder模式和StreamBuilder模式,全局,局部都可以 内部应该是结合InheritedWidget Notification体系实现的 传统的bloc需要在每一个 入门级仓库地址 添加依赖 查看pub-install dependencies: provi... 阅读详情

相关推荐

Flutter中运用Provider

要明白为什么用Provider,在原先修改数据都是通过setState来进行修改,这样导致视图和逻辑无法分层,使后续代码难以维护,所以可以通过Provider来进行更好的维护。想在Flutter中实现MVVC架构的话通过Provider是一个不错的选择,而且在Provider官方文档也有比较清晰的说明,这里主要就是总结我做时候的方案。(本文参考了Flutter的官方文档)

bachelores的博客 1549

如何永久保存微信聊天记录?WeChatMsg让你轻松掌握数据主权!

你是否曾担心珍贵的微信聊天记录会随着手机更换或系统升级而消失?那些与家人朋友的温馨对话、重要的工作沟通、值得纪念的时刻,都值得被永久保存!今天,我要向你介绍一个专业级的微信聊天记录本地化保存与分析工具——WeChatMsg,它能让你的数据真正属于你,实现聊天记录的永久保存、智能分析与可视化呈现。 在数字化沟通时代,微信已成为我们生活与工作中不可或缺的交流平台。然而,珍贵的聊天记录往往面临设备更换

gitblog_00155的博客 566

Flutter 状态管理之provide

什么是状态管理 通俗点来讲就是,对一个数据源的统一管理。 比如,列表和详情都有收藏按钮,在详情收藏之后,列表也要同步收藏状态; 类似的还有签到、领红包、已读等多种业务场景。 在项目小、业务简单的时候可能还不需要或者比较好管理,当项目逐渐庞大、业务也越来越复杂的时候,改起来绝对会焦头烂额,所以状态管理就应运而生了。 为什么选择provide 其实状态管理的框架也有好几家: BLoC Scope...

yechaoa 2433

【Leetcode】3530. Maximum Profit from Valid Topological Order in DAG

值,可以枚举下一个点是谁,这个点的乘数。是已经使用过的点的编号的二进制表示为。里出现,并且这个点的所有前驱节点都在。中出现,设枚举的点是。

数学、算法爱好者的博客 382

Apifox CLI + Claude Skills:将接口自动化测试融入ai

基于 Apifox CLI、Claude Code以及Claude Skills组合,实现自然语言触发接口自动化测试。

wwz_0012的博客 597

2.4G跳频算法 2.4G切信道算法 (简例示意nRF52832)

2.4G跳频算法 nRF52832示例 2.4G自适应信道算法

Peter.Min 955

Flutter官方推荐的状态管理库provider的使用

一、Flutter 状态管理 通俗的讲:当我们想在多个页面(组件/Widget)之间共享状态(数据),或者一个页面(组 件/Widget)中的多个子组件之间共享状态(数据),这个时候我们就可以用 Flutter 中的状 态管理来管理统一的状态(数据),实现不同组件直接的传值和数据共享。 现在 Flutter 的状态管理方案很多,redux、bloc、state、provide、provider。 目前我们推荐使用 provider,这个是官方提供的状态管理解决方案。相比其他状态管

weixin_38107457的博客 2692

保姆级避坑指南:在Ubuntu 22.04上成功复现VMamba模型(附完整环境依赖清单)

本文提供了在Ubuntu 22.04上复现VMamba模型的详细指南,包括环境准备、CUDA与PyTorch的精确匹配、依赖安装的疑难杂症解决以及完整环境清单。特别针对Linux系统下的环境复现问题,提供了实用的避坑技巧和验证方法,帮助开发者高效完成VMamba模型的部署。

weixin_29083373的博客 262

flutter provide 学习笔记

作为一名前端,关于 flutter 的 状态管理器 Provide 的使用方法其实不是很能理解,因为这里出现了泛型 所以决定去看看 Provide,了解使用 Provide 中的泛型到底是怎么被使用的,同时加深对于 Dart 的理解 首先,是 github 上的 example 源码,我将会基于这个来进行学习 import 'dart:async'; import 'package:fl...

dongcehao的博客 460

科研党必备:Zotero+Deepseek 打造AI文献阅读助手(附详细插件配置指南)

本文详细介绍了如何利用Zotero和Deepseek打造AI文献阅读助手,提升科研效率。从Zotero基础安装到中文文献处理插件茉莉花的配置,再到Deepseek API的集成与模型选择策略,全面覆盖了AI辅助阅读的关键环节。特别适合需要高效管理海量文献的科研工作者,显著提升文献筛选和分析速度。

backprop5master的博客 422

第三篇:学习InternVL2.0(探讨代码之训练模块版)

InternVL2的训练模块

qq_69051120的博客 1244

【详解】Flutter之全局状态管理Provider

【详解】Flutter之全局状态管理Provider @author As.Kai 首先导入依赖 provide: ^1.0.2 最新版本可上pub上查看最新版本 导入后 在lib文件夹下创建状态管理Provide: 官网示例: 创建一个管理静态页面 数据++ Demo eg: 在provide文件夹下创建counter.dart文件: import 'package:flutter/cupertino.dart'; class Counter with ChangeNotifier

Welcome To As.Kai 's Home 964

基于OpenSSL的CA建立及证书签发(签发多域名/IP)

自签SSL证书(多域名/IP) 本文基于以下环境: 内核信息:Linux zabbix 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 系统版本:CentOS Linux release 7.6.1810 (Core) OpenSSL版本:OpenSSL 1.0.2k-fips 26 Jan 2017 【前言】 在基于OpenSSL的CA建立及证书签发一文中(后面统.

hobby云说 4645

Flutter Provider 3.0实战教程

背景 provider是Google I/O 2019大会宣布的现在官方推荐的状态管理方式,provider,语法糖是InheritedWidget,它允许在小部件树中传递数据,允许我们更加灵活地处理数据类型和数据。 项目地址 flutter_provider本教程的项目源码,欢迎star 为什么需要状态管理 在进行项目的开发时,我们往往需要管理不同页面之间的数据共享,在页面功能复杂,状态达到几十个上百个的时候,我们会难以清楚的维护我们的数据状态,本文将以简单计数器功能使用状态管理来讲解如何在..

大灰狼的小绵羊哥哥的博客 1406

1553B总线介绍及其硬件方案设计

军用1553B总线 1.简介 简单介绍可参考(https://blog.youkuaiyun.com/ScilogyHunter/article/details/108444231)博主写的很详细。 1553B总线是MIL-STD-1553总线的简称,其中B就是BUS,MIL-STD-1553B总线是飞机内部时分制命令/响应式多路复用数据总线。1553B数据总线标准是20世纪70年代由美国公布的一种串行多路数据总线标准。1553B总线能挂31个远置终端,1553B总线采用指令/响应型通信协议,它有三种终端类型: BC:

小幽余生不加糖 1万+

华为OD机试真题 新系统 2026-04-26 Python&JS 实现【项目模块依赖构建顺序规划】

某公司正在开发一个大型软件系统,系统包含 N 个模块,每个模块之间存在构建依赖关系。例如,模块 A 可能依赖于模块 B,这意味着必须先构建模块 B,才能构建模块 A。 请根据依赖关系,输出所有可能的模块构建顺序(按照构建顺序排列模块名称),要求:

MISAYAONE的博客 404

Flutter:五分钟学会使用动态管理Provider

Flutter Provider是一种状态管理库,它允许通过一个中心组件来传递和共享数据。它使用了InheritedWidget,建立了一个数据传递的上下文树来实现数据共享。

yihanss的博客 2104

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Flutter 中 Provider 的使用指南

它使用 InheritedWidget 作为底层实现,通过提供一种订阅与更新的机制,能够让应用在状态变化时自动刷新对应的 UI,极大地提升了开发体验。在应用的根组件中使用 ChangeNotifierProvider,将 Counter 类实例注入到 Widget 树中,使整个应用都可以访问它的状态。在这个例子中,Consumer 会自动监听 Counter 对象的变化,并在 count 值更新时重建它内部的 UI。在使用 Provider 之前,我们需要定义一个简单的状态类。

我叫柱子哥 2949

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Flutter开发Provider详解

一、为什么会有Provider? 因为 Flutter 与 React 技术栈的相似性,所以在 Flutter 中涌现了诸如flutter_redux、flutter_dva、flutter_mobx、fish_flutter等前端式的状态管理,它们大多比较复杂,而且需要对框架概念有一定理解。 而作为 Flutter 官方推荐的状态管理scoped_model,又因为其设计较为简单,有些时候不适用于复杂的场景。 所以在经历了一端坎坷之后,今年 Google I/O 大会之后,Pro...

Dream It Possible 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

flutter-provide

flutter状态管理-provide counter.dart class Counter with ChangeNotifier{ int value = 0; increament() { value++; notifyListnerers(); } } import './provide/counter.dart'; void main() { ...

wangweiqiang.csdn的专栏 291

Flutter中的provider

2019-07-01 文章目录添加依赖创建数据model如何传递、共享数据向子节点传递数据在子节点中获取数据Consumer 作为一个状态共享的解决方案,不复杂,好理解,代码量不大的情况下,可以方便组合和控制刷新颗粒度 , 而原 Google 官方仓库的状态管理 flutter-provide 已宣告GG , provider 成了它的替代品。和scoped_moded比起来,入侵性比较小,也适合比较复杂的应用场景。 具体的代码在 https://github.com/huangyuanlove/test_

Huang兄 1484

Flutter基础

本课程主要介绍Flutter的核心知识。Flutter主要用于开发跨平台Android App和iOS App。主要包括Flutter的安装,Flutter布局,常用组件、Android和iOS风格的组件、手势、图像、网络、数据库等核心操作。

Flutter状态管理之Provider的使用

当App的复杂性发展到一定程度,经常会出现一个页面中不同深度的子Widget需要共享访问同一个数据状态,甚至不同页面要共享同一个状态。这时我们就会想到InheritedWidget。InheritedWidget是 Flutter 中非常重要的一个功能型组件,它提供了一种在 widget 树中从上到下共享数据的方式,比如我们在应用的根 widget 中通过InheritedWidget共享了一个数据,那么我们便可以在任意子widget 中来获取该共享的数据。而Provider就是对InheritedWidg

三翼鸟数字化平台的技术实践分享 2378

Flutter之Provide 状态管理使用

Flutter之Provide 状态管理使用#1.在pubspec.yaml中添加依赖并点击图中 ②处进行下载#2.在lib下新建一个provide文件夹并新建一个自定义的文件 我这里新建了一个counter.dart#3. 编辑counter.dart#3.设置顶层main.dart文件进行修改#3.页面临听 为了展示provide的强大全局通信的能力,这里我建了两个没有关联的组件 并把它们组装...

兄弟连之一个前端小白的成长 816

Flutter —— 状态管理 | Provide

接着上一篇的 ScopedModel 来讲解 Provide。 有关Provide的题外话,Provide 是 ScopedModel 的进阶或者说是兄弟,为何这么说呢?因为这两个插件的内容重叠的太多,所以对于这两个插件存在争议。 有兴趣想要了解更多的可以看看。 Provide争议 Provide 介绍 It is designed as a replacement for ScopedMo...

li1002464056的博客 916

Flutter Provider使用指南

前言   使用一种语言编写各种应用的时候,横亘在开发者面前的第一个问题就是如何进行状态管理。在前端领域,我们习惯使用框架或者各种辅助库来进行状态管理。例如,开发者经常使用react自带的context,或者mobx/redux等工具来管理组件间状态。在大热的跨端框架flutter中,笔者将对社区中使用广泛的provider框架进行介绍。 准备工作 安装与引入 provider pub链接 官方文档宣称(本文基于4.0版本),provider是一个依赖注入和状态管理的混合工具,通过组件来构建组件。 p

大灰狼的小绵羊哥哥的博客 3794
上一篇: Flutter解决ListView/SingleChildScrollView嵌套GridView滑动冲突
下一篇: Flutter解决ListView嵌套ListView不显示和滑动冲突
codekxx
博客等级 码龄11年 36粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值