首页 > 其他分享 >状态管理相关

状态管理相关

时间:2024-09-08 22:49:37浏览次数:3  
标签:状态 功能 管理 该包 使用 组件 相关 GetMaterialApp 方法

文章目录


我们在上一章回中介绍了"四个bublue包对比与总结"相关的内容,本章回中将介绍Get包.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在本章回中将介绍Get包,它是一个三方插件,功能十分强大,不过我看了一下Github上的开发人员后发现该包竟然是英国一位律师开发的,写程序只是他的业余爱
好,果然十分强大。我们将在本章回中详细该包的功能和用法。

2. 功能与用法

2.1 主要功能

该包的主要功能有四大块,详细如下:

  • 状态管理:该包提供了状态管理功能,而且使用十分方便,据文档所说性能比Provider还要好;
  • 路由管理:该包对Navigate组件进行了封装,原生有的路由功能它都有,最重要的是不需要Context;
  • 依赖注入:该包提供依赖管理功能,不过主要是对状态管理进行功能上的辅助;
  • 实用工具:该包可以快速地使用SnackBar和Dialog,并且还能切换语言和主题;
    上面介绍的这些功能确实比较多,我还担心在项目中引入该包后会导致生成物变大,看完文档后发现没必要担心,因为该包不会把所有的内容都添加到项目中,它是分开编
    译的,用什么功能就在项目中加入什么功能。在接下来的章回中,我们将详细介绍该包提供的这些功能。

2.2 使用方法

该包的使用方法和其它包稍微有些不同,主要是该包需要在顶层组件中做修改,这点类似Provider.下面是详细的使用方法:

  • 在yaml文件中配置get包并且通过pub get命令获取包中的内容到本地项目中;
  • 在runApp中MainApp的地方配置GetMaterialApp,其它的内容放到它的home属性中;
    上面的方法中使用了GetMaterialApp组件,这是包中提供的组件同,它的用法类似MaterialApp,我们将在后面的章回中单独介绍这个组件。这种方法相当于在整个
    项目中使用GetMaterialApp组件,我开始时还担心它会影响项目中的组件或者配置,后来阅读官方文档后发现没有必要担心,因为GetMaterialApp组件不是新定义
    的组件,它只是在官方MaterialApp组件的基础上做了一些配置。如果实在是不放心,我们再提供一种使用方法:定义一个StatelessWidget,然后在build方法中
    return这个GetMaterialApp。这种方法相当于只在某个页面中单独使用GetMaterialApp组件,其它页面中还是使用官方的MaterialApp组件.

3. 示例代码

///在整个项目中使用GetMaterialApp
void main() => runApp(GetMaterialApp(home: Home()));

///只在单独页面中使用GetMaterialApp
class ExGetMaterialApp extends StatelessWidget {
  const ExGetMaterialApp({super.key});


  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      home: GetHomePage(),
      theme: ThemeData(
        ///建议打开Material主题,否则页面风格太难看
        useMaterial3: true,
      ),
    );
  }

}

我们在上面的示例代码中演示了两种使用GetMaterialApp组件的方法,细节的看官就会发现它和MaterialApp组件的几乎一样。有看官提问这两方法哪种好一些呢?
其实没有优劣之分,如果想在当于在整个项目中使用GetMaterialApp组件,那么就使用示例代码中的第一种方法。如果只想在单个页面中使用GetMaterialApp组件,
那么就使用示例代码中的第二种方法。我在这里就不演示程序的运行结果了,建议大家自己动手去实践。

4. 内容总结

最后,我们对本章回的内容做一个全面的总结:

  • Get包是三方组件,它提供了状态管理,依赖注入,路由管理以及一些实用工具;
  • Get包提供的功能十分强大,不过所有功能都是基于GetMaterialApp组件实现;
  • GetMaterialApp组件有两种使用方法,一种用于整个项目,另外一种用于单个页面;
    看官们,与"Get包简介"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

标签:状态,功能,管理,该包,使用,组件,相关,GetMaterialApp,方法
From: https://blog.csdn.net/talk_8/article/details/142027965

相关文章

  • 【原】2024年系统规划与管理师案例知识点学习笔记
    第三章 信息技术服务知识1、ITSM的目标及原理(1)目标:以客户为中心提供IT服务;提供高质量、低成本的服务;提供的服务是可准确计价的;(2)原理:二次转换。第一次为梳理,将技术管理转换为流程管理;第二次为打包,将流程管理转换为服务管理。2、质量管理的过程质量策划、质量控制、质量保证、......
  • 基于Node.js+vue在线交友平台管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,人们的社交方式正经历着深刻的变革。在线交友平台作为数字时代的新兴社交媒介,以其跨越地域限制、便捷高效的特点,迅速成为现代人拓......
  • Transformer图解以及相关的概念解析
    前言transformer是目前NLP甚至是整个深度学习领域不能不提到的框架,同时大部分LLM也是使用其进行训练生成模型,所以transformer几乎是目前每一个机器人开发者或者人工智能开发者不能越过的一个框架。接下来本文将从顶层往下去一步步掀开transformer的面纱。transformer概述Transforme......
  • 高校就业管理系统|全套源码+文章lw+毕业设计+课程设计+数据库+ppt
    高校就业管理系统|全套源码+文章lw+毕业设计+课程设计+数据库+ppt中文摘要本论文主要讲述了基于SSM框架及MySQL数据库实现的就业管理系统的设计和开发过程。本论文中所讲的就业管理系统是通过所学的知识创办一个非商业性的网站平台,使所有想要就业信息查看的高校毕业生们与......
  • Go进阶概览 -【2.4 切片的结构与内存管理】
    2.4切片的结构与内存管理切片是我们日常使用比较多的一个结构,深入的了解它的结构对于我们提高程序性能也有比较大的帮助。本节我们将针对切片底层结构、扩容机制、底层数组进行讲解。本节代码存放目录为lesson4切片底层结构我们在使用的时候发现切片与数组很相似,这是......
  • Linux文件和用户管理
    文件管理在Linux中有一句俗语:一切皆是文件。控制程序=控制文件Linux存放文件Windows是以多根的方式来组织文件,如C:\或D:\;并且两者之间是属于同一级,对数量没有任何限制而Linux却不同,Linux是以单根的方式来组织文件,这个根就叫做"/",即Linux所有的文件都在这里面Linux所有......
  • Redis 入门 - 图形化管理工具如何选择,最全分类
    工欲善其事必先利其器,上一章Redis服务环境已经搭建完成,现在就需要一个趁手的工具,有个好工具可以做到事半功倍。Redis图形化管理工具五花八门,可供选择的很多,大家可以根据自己的需求应用场景进行选择。就是因为选择过多所以才写了这篇文章,和大家分享下到底有哪些工具可供选择,好给......
  • Linux文件属性及相关命令
    1.Linux文件体系概述2.inode和block的概述2.1inodeinode索引节点,inode号码类似于身份证号码,通过inode号码可以找到文件的内容。inode是一个空间,inode号是空间的位置,inode空间中存放的是文件属性信息,文件大小,修改时间,权限,所有者inode空间中存放block的位置(指向......
  • 基于Node.js+vue机票订单管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着全球经济的飞速发展和人们生活水平的提高,航空旅行已成为人们出行的重要方式之一。机票预订市场的日益繁荣,不仅促进了航空业的发展,也对机票订单管理提出......
  • 基于Node.js+vue基于的仓储管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着现代物流业的快速发展,仓储管理作为供应链管理中至关重要的一环,其效率与准确性直接影响到企业的运营成本与客户满意度。传统的人工仓储管理模式已难以应......