每次都会从构建类中扑出底部导航栏

问题描述 投票:0回答:1

我有一个底部导航栏,可以在同一屏幕的类之间进行导航

我的主要构建小部件:

  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如何停止重建课程?

android ios flutter navigation navigationbar
1个回答
0
投票

嗯,实际上您无法阻止重建。我将为您指出这个答案,因为这是我认为最好的答案。

How to deal with unwanted widget build?

可以出于任何原因随时重建小部件。如果您不希望对性能造成严重影响,请不要在构建方法中使用逻辑,因为构建方法应仅用于显示UI。 BLoC模式非常擅长将显示和逻辑分开。

因此,基本上,保持构建方法整洁。

© www.soinside.com 2019 - 2024. All rights reserved.