相信没有人用全局变量来管理 Flutter 应用程序的状态。毫无疑问,我们需要状态管理包或 Flutter 的基本小部件,例如InheritedWidget我们StatefulWidget的 Flutter 应用程序。
然而,我们真的了解这些包对于状态管理有何价值吗?在思考状态管理时,我们必须考虑哪些主题?
在本文中,我们将有意使用全局变量进行状态管理来构建一个简单的计数器应用程序,以探索会发生什么样的问题。这一挑战将帮助我们了解状态管理包试图解决什么问题。
具有全局变量整数值的计数器应用程序
我们将从下面的简单计数器应用程序开始。
import 'package:flutter/material.dart';
void main() => runApp(const MainApp());
var counter = 0;
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: Text(counter.toString()),
),
floatingActionButton: FloatingActionButton(
child: const Icon(Icons.add),
onPressed: () {
counter++;
},
),
),
);
}
}
它必须是一个简单的计数器应用程序,除了