gpt4 book ai didi

android - 使用带有状态和构建参数的BottomNavigation

转载 作者:行者123 更新时间:2023-12-03 04:51:52 25 4
gpt4 key购买 nike

因此,我遵循了一些教程,并使用底部导航创建了一个应用程序:
enter image description here

首先,我正在使用身份验证,因此,当用户打开应用程序时,它会强化用户身份并获取用户信息,并将其作为状态保存在根Widget上,然后提供给子代Widget。

我正在使用switch进行页面路由:

    switch (widget.destination.id) {
case 'feed':
return HomePage(widget.user);
case 'account':
return AccountPage(widget.user);
default:
return Text('404');
}

但是,每次我在底部导航上更改页面时,页面都会建立,因此页面之间的状态没有保存。因此,我尝试创建一个预先构建的小部件列表:

class LoggedInRoute extends StatefulWidget {
const LoggedInRoute(this.user);

final User user;

_LoggedInRouteState createState() => _LoggedInRouteState();
}

class _LoggedInRouteState extends State<LoggedInRoute> {
int _pageIndex = 0;
List<Widget> _pages = <Widget>[
// TODO: fix this
HomePage(widget.user)
];
// ...
}

但是Android Studio在执行此操作时由于用户参数而给出了错误:
enter image description here

我该如何解决?如果有帮助,代码在我的 github repository上。

最佳答案

this发生的原因相同。

你必须做,

class LoggedInRoute extends StatefulWidget {
const LoggedInRoute(this.user);

final User user;

_LoggedInRouteState createState() => _LoggedInRouteState();
}

class _LoggedInRouteState extends State<LoggedInRoute> {
int _pageIndex = 0;
List<Widget> _pages;

@override
void initState() {
super.initState();
_pages = <Widget>[
HomePage(widget.user)
];
}

// ...
}

希望能帮助到你。

关于android - 使用带有状态和构建参数的BottomNavigation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61221051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com