首页 > 其他分享 >Flutter官方推荐的状态管理库-Provider简单入门

Flutter官方推荐的状态管理库-Provider简单入门

时间:2022-11-01 23:13:21浏览次数:54  
标签:状态 入门 counter flutter context Provider 组件 Flutter

最近几年崛起的新一代的GUI开发方式,几乎都是组件式开发。代表就是Vue React Flutter等。

组件开发一时爽,状态传递就很蛋疼了。比如A和B组件没有上下级关系,也不是层级相近的兄弟组件。这时候如果要把A的状态传递到B,就需要用到一个概念- 状态管理

常用的状态管理库

在flutter中,有很多状态管理库,比如RxDart、MobX、GetX、Provider等等。
其中Provider是官方推荐的一个状态管理库,也是几乎每个flutter使用者必备的一个状态库

安装Provider

  provider: ^6.0.4

创建一个Model

import 'package:flutter/cupertino.dart';

class TestModel extends ChangeNotifier {
  int _counter = 0;

  int get counter => _counter;

  Add() {
    _counter += 1;
    notifyListeners();
  }
}

使用Provider

void main() {
  runApp(ChangeNotifierProvider(
    create: (context) => TestModel(),
    child: const MyApp(),
  ));
}

监听修改

Consumer<TestModel>(
                  builder: (context, value, child) =>
                      Text("ok:${value.counter}"),
                ))

触发修改

Provider.of<TestModel>(context, listen: false).Add();

标签:状态,入门,counter,flutter,context,Provider,组件,Flutter
From: https://www.cnblogs.com/boxrice/p/16849501.html

相关文章

  • Azure DevOps Server 入门实践与安装部署
    一,引言最近一段时间,公司希望在自己的服务器上安装本地版的AzureDevOpsService(AzureDevOpsServer),用于项目内的测试,学习。本着学习的目的,我也就开始学习在测试服务......
  • C# Linq学习笔记(一)-基础语法入门
    一、简介:Linq(语言集成查询):为C#和VisualBasic提供语言级查询功能和高阶函数API,让你能够编写具有很高表达力度的声明性代码。二、优点:1、LINQ具有语言级查询语法,切......
  • Mac新手必看Mac入门基本知识图文教程
    你已经是Mac的用户了吗?还是准备入手的新手呢?赶快看看“Mac入门基本知识”吧!macbook系统基础内容简介Mac入门基本知识1、主界面结构图基本知识介绍(如图所示)2、Ma......
  • Docker如何与外界互通(chrono《kubernetes入门实战课》笔记整理)
    Docker与外界互通的三种方式1、拷贝文件dockercp命令,可以直接在主机和容器之间互相拷贝(容器间不可以),格式和cp是一样的,就是注意要标明容器ID,例如:docker cp a.txt 062:......
  • Bootstrap栅格系统_入门和Bootstrap栅格系统_注意事项
    Bootstrap栅格系统_入门响应式布局同一套页面可以兼容不同分辨率的设备。实现:依赖于栅格系统:将一行平均分为12个格子,可以指定元素占几个格子步骤:1.......
  • Lombok的极速入门
    Lombok是什么?一般封装类时有大量的Get、Set方法,不利于我们进行日常工作。Lombok(小辣椒)就是用于节约封装类时的代码,便于代码的阅读与使用。下载maven的依赖这里没有使......
  • 关于Markdown语法的入门学习与使用
    Markdown介绍(百度扒的)Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(JohnGruber)。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文......
  • Spring入门
    一、Spring概述介绍Spring框架是一个开源的Java平台,它最初是由RodJohnson编写的,并且于2003年6月首次在Apache2.0许可下发布。Spring是轻量级的框架,其基......
  • Bootstrap概述和Bootstrap快速入门
    Bootstrap概述1.概念:一个前端开发的框架,Bootstrap,来自Twitter,是目前很受欢迎的前端框架。Bootstrap是基于HTML、CSS、JavaScript的,它简洁灵活,使用得Web开发更加快捷。......
  • tensorflow2从入门到精通——alexnet模型完成图像分类cifar10
    #!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2022/8/2921:46#@Author:陈伟峰#@Site:#@File:alexnet.py#@Software:PyCharmimporttenso......