目前,Flutter有几种状态管理器。但是,它们中的大多数都涉及到使用ChangeNotifier来更新widget,这对于中大型应用的性能来说是一个很糟糕的方法。你可以在Flutter的官方文档中查看到,ChangeNotifier应该使用1个或最多2个监听器,这使得它们实际上无法用于任何中等或大型应用。
详细的介绍大家可以去GetX的github上查看.
在新建一个Flutter项目的时候,会默认为我们生成一个计数器的模版,现在我们用GetX去实现它.
如果你想让一个数据可以被观察
var count = 0.obs;
在变量的值后面加上.obs即可以将该变量设置成可观察的.转化为可观察的变量后,它的类型不再是原生类型,所以取值不能用变量本身,而是.value
接着需要让数据在改变的时候同时更新到UI上
Obx(() => Text("${ c.count } 次"));
具体实现代码如下
import 'package:flutter/material.dart';
import 'package:get/get.dart';
void main() {
runApp(MyApp(