为什么在flutter中使用provider时不执行类的构造函数?

Mar*_*S82 1 dart flutter flutter-provider

void main() {
  MainStream.init();
  runApp(
      MultiProvider(
          providers: [
            Provider(
              create: (context) => Test(context),
            ),
          ],
          child: MyApp()));
}

class Test {
  Test(BuildContext context) {
    print("Test");
  }
}
Run Code Online (Sandbox Code Playgroud)

在这个测试代码中,我希望在我的应用程序启动时打印出“Test”,但它没有。我做错了什么?我看到了像这样初始化提供程序的示例。

小智 5

根据提供者文档,创建回调是延迟加载的,因此这是预期的行为。如果您通过 "lazy: false" 它应该按您的预期工作:

Provider(
    create: (context) => Test(context),
    lazy: false
),
Run Code Online (Sandbox Code Playgroud)