我有一个底部导航栏,可以在同一屏幕的类之间进行导航
我的主要构建小部件:
Widget build(BuildContext context) {
return SafeArea(
top: false,
child: Scaffold(
body: PageStorage(
child: Stack(
children: <Widget>[currentPage, bottomBar()],
),
bucket: bucket,
),
),
);
}
我的底部栏
Widget bottomBar() {
return Column(
children: <Widget>[
const Expanded(
child: SizedBox(),
),
BottomBarView(
tabIconsList: tabIconsList,
addClick: () {},
changeIndex: (int index) {
setState(() {
currentTab = index;
currentPage = pages[index];
print(pages[index]);
print(currentTab);
});
},
),
],
);
}
底部栏正常工作,但是每次我按下按钮时,它会一次又一次地重建相同的类即使我正在使用bucket和PageStoorage如何停止重建课程?
嗯,实际上您无法阻止重建。我将为您指出这个答案,因为这是我认为最好的答案。
How to deal with unwanted widget build?
可以出于任何原因随时重建小部件。如果您不希望对性能造成严重影响,请不要在构建方法中使用逻辑,因为构建方法应仅用于显示UI。 BLoC模式非常擅长将显示和逻辑分开。
因此,基本上,保持构建方法整洁。