首页 > 解决方案 > 为什么我们在颤动中导航到下一个屏幕时传递上下文?

问题描述

为什么我们在颤动中导航到下一个屏幕时传递上下文

真正的背景是什么?为什么我们需要上下文?

标签: flutterflutter-layoutflutter-test

解决方案


Flutter 中的 BuildContext 是一个对象,它保存有关 Widget 所在上下文的信息。最重要的是,它保存了我们的 Widget 在 Widget-tree 中的位置。这就是为什么我们需要 BuildContext 来获取某个 Provider、ThemeData 或 MediaQuery 例如。

var media = MediaQuery.of(context);

如果没有属于我们所在的 Widget 的 BuildContext,Flutter 无法知道 WHERE(在 Widget-tree 中)来寻找我们正在寻找的数据。

导航也是如此,我们需要知道我们从哪里来,去一个新的地方。


推荐阅读