为什么从其他文件访问时Flutter GlobalKey的currentState为NULL

为什么从其他文件访问时Flutter GlobalKey的currentState为NULL,第1张

为什么从其他文件访问时Flutter GlobalKey的currentState为NULL

这是由于飞镖导入的工作原理。

在dart中,有两种导入源的方法:

  • 导入’./relative/path.dart’
  • 导入’myApp / absolute / path.dart’

问题是,它们彼此不兼容。这两种进口将有不同

runtimeType

但这是一个问题吗? 我从未使用过相对导入

这是一个问题,因为在某些情况下,您会隐式使用“相对导入”:当使用在

foo.dart
inside中 定义的类A时
foo.dart

那么,我该如何解决问题呢?

有多种解决方案:

  • 与类相关的所有内容
    App
    都应放在同一文件中。(这是飞镖推荐的东西)
  • 解压
    App
    到它自己的文件中。并使用绝对导入将其导入到任何地方。
  • 不要用
    GlobalKey
    开始。由于您的用例肯定在的范围内
    InheritedWidget


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5090544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存