flutter - 在flutter-中获取方法的buildContext-作为参数或使用globalKey的currentContext
问题描述
我有一些需要buildContext 的方法,例如弹出当前页面、显示模式、隐藏snackBar。
我不确定哪个是获取 buildContext 的方法的更好解决方案:
- 创建脚手架状态的全局键并调用全局键的currentContext,
- 将 buildContext 从 build 方法一直传递到当前方法
这两种方式有区别吗?或者,如果它们在这种情况下同样适用,那么一种方式是否比另一种方式更受欢迎或更好?
谢谢
解决方案
我认为在大多数情况下使用全局键被认为是不好的做法。而且我认为使用 aBuildContext
作为参数的函数在使用Navigator
,Theme
和时很常见MediaQuery
。请记住,使用类而不是函数来制作可重用的 widget-tree是更好的做法。
推荐阅读
- sql - 为没有子查询的每个组选择最大,最小行,大小写相同
- javascript - 在 TypeScript 中将 props 传递给具有正确类型的“react-bootstrap”组件
- r - 无法使用 dplyr::select 选择列
- r - 从 tibble 列表中提取到单个数据框对象
- retool - Retool:创建侧边栏以动态更改容器窗口的组件
- java - 通过 VPC 对等连接到 RDS 时出现 Spring Boot UnknownHostException
- c# - 如何使用计时器触发器将时区传递给 Azure 函数
- php - PHP:四舍五入的数字不作为数字核对?
- ios - iOS App Accessibility-当视图出现时如何让画外音读出屏幕名称?
- botframework - 从外部服务关闭团队消息传递扩展模式