支持
我需要一些关于我的应用的帮助。
我有两个自定义AppBars,第一个是在用户未登录时使用的。第二个在登录后显示。
我刚刚实现了一个API调用,它返回用户数据并使用用户名更新AppBar。
如何在Navigator调用之间持久化带有用户名的AppBar?每次上下文更新时调用API的开销都很大。
目前,我的应用程序的每个页面都会返回一个带有AppBar和body属性的Scaffold
谢谢。
发布于 2020-01-19 07:40:38
您可以使用Provider来消费数据:
Consumer<UserData>(
builder: (context, userData, child) {
return Scaffold(
appBar: AppBar(title: Text(userData.username)),
);
}
)
在某些地方(像MaterialApp这样的父小部件),您必须为UserData创建提供者:
Provider(
create: (_) => UserData('the user name'),
child: MaterialApp(...)
)
您可以浏览提供程序文档,了解哪种类型的提供程序更适合您的用例。
https://stackoverflow.com/questions/59805814
复制相似问题