【发布时间】:2022-01-06 23:28:10
【问题描述】:
我的应用程序有不同的路线,我想知道当用户第一次出现在屏幕上时如何用 cubit 调用我的 api,并且每次返回屏幕时不要重新调用 api已经初始化了。
我的结构使用 bloC
这是我的个人资料页面初始化类
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
final user = context.read<AuthCubit>().state;
final bloc = context.read<ProfileCubit>();
return Scaffold(
body: FutureBuilder(
future: bloc.updateProfilePicture(user!.id),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return BlocBuilder<ProfileCubit, ProfilePicture?>(
buildWhen: (prev, curr) => prev != curr,
builder: (context, picture) {
return picture != null
? Profil(profilePicture: picture, updateIndex: updateIndex)
: Profil(updateIndex: updateIndex);
},
);
}
return Center(
child: CircularProgressIndicator(
color: Colors.orange,
),
);
},
),
);
}
【问题讨论】:
-
你可以有一些想法here。