BottomNavigationBar 是否需要 IndexedStack 小部件?如果是这样,它们会同时加载,这很烦人

时间:2021-05-19 13:30:12

标签: flutter flutter-dependencies

  • 我想要一个底部导航栏
  • 我目前这样做,为了防止每次转到不同屏幕时重新加载 BottomNavigationBar,我使用 IndexedStack 小部件
  • 因为我使用了 IndexedStacked 小部件,所以每当应用程序启动时,它都会运行整个应用程序中的所有小部件,这很烦人。如果我在那个屏幕上,我只想运行一个小部件。
  • 如何修改/修复此问题,我可以使用 BottomNavigationBar 但不能同时运行此 IndexedStack 小部件

1 个答案:

答案 0 :(得分:0)

您可以尝试另一种在页面中保持状态的方法:

// 1. AutomaticKeepAliveClientMixin
class _PageState extends State<_HomePage> with AutomaticKeepAliveClientMixin<_HomePage> {
  // 2. 
  @override
  bool get wantKeepAlive => true;
  
  @override
  Widget build(BuildContext context) {
    //3. 
    super.build(context);
    return Scaffold(...
    );
  }
}