如何在已定义的文件小部件之外使用全局键

wos*_*tom 2 key dart flutter

在 file1 中,我定义了以下小部件:

class MyWidget extends StatefulWidget {
  const MyWidget({
    Key key,
  }) : super(key: key);

  @override
  _MyWidget createState() => _MyWidgetState();
}
Run Code Online (Sandbox Code Playgroud)

在 file2 中,我想调用这个小部件并为 key 参数提供一个全局键。为此,我正在导入 file1:

import 'package:mypackage/supplemental/file1.dart';
Run Code Online (Sandbox Code Playgroud)

然后在这个文件 (file2) 中我想定义一个 MyWidget 全局键:

GlobalKey<_MyWidgetState> globalKey;
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

名称“_MyWidgetState”不是类型,因此不能用作类型参数。尝试将名称更正为现有类型,或定义名为“_MyWidgetState”的类型

为什么即使我导入了文件也无法访问它?

Fil*_*cks 5

删除 _MyWidgetState 前面的下划线以使其公开。改变

_MyWidgetState
Run Code Online (Sandbox Code Playgroud)

MyWidgetState
Run Code Online (Sandbox Code Playgroud)