Flutter:尝试使用InheritedWidget但获取空

时间:2018-08-07 01:05:39

标签: dart flutter

Widget Hierarchy 我正在调用of的{​​{1}}函数,但是如上所示,当我的窗口小部件位于树的顶部时,我的函数返回null。呼叫来自推送到导航器堆栈的页面,而不是该页面。有人知道为什么吗?我的InheritedWidget代码如下。

InheritedWidget

2 个答案:

答案 0 :(得分:1)

我通过将传递给我的MaterialPageRoute的页面包装在InheritedWidget中解决了该问题。我假设这棵树停在页面路线上并且不会到达更高的位置,尽管我不确定100%。

答案 1 :(得分:0)

在我的测试中,

InheritedWidget可以继承,即使它是MaterialApp / WidgetsApp / CupertinoApp或路由的父级。

对于其他有此问题的人,更可能的解释是您已使用不同的大小写形式导入了InheritedWidget。即,在生成它的位置,您可能已将其导入为import 'MyInheritedWidget.dart',而在尝试检索它的位置,您已将其导入为import 'myinheritedwidget.dart'

这不会在任何一个文件中引起错误(至少在Windows中),但不会匹配并返回null。