android - 路由弹出/推送后未调用构建方法
问题描述
根据这个答案,构建方法被称为 Route pop/push
我的问题是,在我的应用程序中有一个页面,构建方法只被调用一次,那是页面第一次构建的时候,但在我的其他页面中,一切都很好,构建方法被调用多次,例如当从另一个页面或推送到新页面。
我的代码是这样的:
class ProjectDetailsPage extends StatefulWidget {
final int Id;
const ProjectDetailsPage({Key key, this.Id}) : super(key: key);
@override
_ProjectDetailsPageState createState() => _ProjectDetailsPageState();
}
class _ProjectDetailsPageState extends State<ProjectDetailsPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
Drawer: SlideDrawer(),
appBar: LeadingAppBar(),
body: FutureBuilder(
future: _getProject(),
builder: (context, snapshot) {
....
}
)
);
}
所以我希望我的页面在推送/弹出发生时重建
解决方案
为您的状态使用RouteAware mixin 并实现didPush
和didPopNext
方法。
推荐阅读
- python - 在 Pandas DataFrame 中获取字符串而不是列表
- laravel - 如何从 eloquent 选择变量
- javascript - Discord 如何为今天和昨天的日期进行格式化?
- java - 现有套接字上的 NullPointerException
- c - Isdigit() 不适用于 C 中 48-58 范围内的值
- c - asprint 内存泄漏需要帮助了解泄漏的来源和可能的修复
- python - PYTHON > 在 .csv 文件中重新排列项目数据(“日期”)
- python - 文本换行仅适用于 matplotlib 中的垂直标签
- latex - Markdown + LaTeX + Jekyll(Github 页面)= HTML?
- angular - 1 退订时发生错误