Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 当我再次切换回选项卡时,如何阻止我未来的构建器重新加载飞镖_Firebase_Flutter_Google Cloud Firestore - Fatal编程技术网

Firebase 当我再次切换回选项卡时,如何阻止我未来的构建器重新加载飞镖

Firebase 当我再次切换回选项卡时,如何阻止我未来的构建器重新加载飞镖,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,我使用的是底部导航栏,每个选项卡都有一个未来的生成器,每次切换到下一个选项卡并切换回旧选项卡时,它都会重新加载 类登录页扩展StatefulWidget{ @凌驾 _LandingPageState createState()=>LandingPageState(); } 类_LandingPageState扩展状态{ int _selectedIndex=1; 静态列表\u widgetOptions=[ //家 首页(), //搜寻 PostGridScreen(), //宠儿 正文( "索

我使用的是底部导航栏,每个选项卡都有一个未来的生成器,每次切换到下一个选项卡并切换回旧选项卡时,它都会重新加载

类登录页扩展StatefulWidget{
@凌驾
_LandingPageState createState()=>LandingPageState();
}
类_LandingPageState扩展状态{
int _selectedIndex=1;
静态列表\u widgetOptions=[
//家
首页(),
//搜寻
PostGridScreen(),
//宠儿
正文(
"索引1:最爱",,
),
//职位
AddPost(),
//索引4:个人资料
Profile(),
];
void\u未映射(整数索引){
设置状态(){
_selectedIndex=索引;
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
子项:_widgetOptions.elementAt(_selectedIndex),
),
底部导航栏:底部导航栏(
项目:常数[
//家
底部导航气压计(
图标:图标(Icons.pets),
标签:“商店”,
),
//搜寻
底部导航气压计(
图标:图标(Icons.search),
标签:“搜索”,
),
//宠儿
底部导航气压计(
图标:图标(Icons.favorite),
标签:“收藏夹”,
),
//职位
底部导航气压计(
图标:图标(图标。添加框),
标签:'Post',
),
//侧面图
底部导航气压计(
图标:图标(Icons.person),
标签:“配置文件”,
),
],
currentIndex:_selectedIndex,
选择编辑颜色:Colors.blue,
unselectedItemColor:Colors.black,
selectedFontSize:14,
onTap:\u未映射,
),
);
}
}

在PostGridScreen()中,当我点击一个网格时,它会让我进入详细信息页面,当我回到网格屏幕时,数据不会重新加载,但当我切换底部导航栏的选项卡时,数据会重新加载,未来的构建器也会重新加载。到现在为止,我什么都试过了,不知道该怎么办。请提供帮助。

您可以尝试使用
automatickepaliveclientmixin
()并重写
wantKeepAlive
以返回
true
,同时在
build
方法的开头添加
super.build(context)
。这样,在选项卡之间导航时,状态将保持不变

我只使用了
PageView.builder()
,而不是您自己的方式(根据选项卡索引交换中心小部件中的子项),因此您只需尝试一下,它可能有效,也可能无效