Firebase 如何在颤振中使用提供程序状态初始化控制器

Firebase 如何在颤振中使用提供程序状态初始化控制器,firebase,flutter,state,Firebase,Flutter,State,我最近重构了我一半的应用程序以使用提供者模式,现在我遇到了一个问题。主要问题是我需要初始化init中的控制器(例如,文本控制器具有初始值或选项卡控制器的列表大小) 如果我需要的数据必须来自build方法中的状态,那么如何初始化控制器呢 比如说 // This must go in the build as it requires state myTabsController = TabController(length: myState.list.length, vsync: this);

我最近重构了我一半的应用程序以使用提供者模式,现在我遇到了一个问题。主要问题是我需要初始化init中的控制器(例如,文本控制器具有初始值或选项卡控制器的列表大小)

如果我需要的数据必须来自build方法中的状态,那么如何初始化控制器呢

比如说

// This must go in the build as it requires state
myTabsController = TabController(length: myState.list.length, vsync: this);

我现在每次构建控制器时都初始化它。。。我如何将其放在init中,但仍然访问状态变量(因为没有上下文)

我尝试使用AfterLayoutMixin库中的afterFirstLayout()回调,但这只会导致更多问题。当前,在选项卡栏中,它会闪烁错误,表示第一帧没有初始化选项卡,然后在调用afterFirstLayout并初始化选项卡时正确显示。这似乎是一个棘手的问题

我想了解更多有关如何正确使用此模式的信息,以及解决此问题的最佳方案

请允许我进一步澄清。
谢谢你的帮助。

嗨!你可以分享一个你如何初始化你的应用程序的小例子吗?嗨!你可以分享一个你如何初始化你的应用程序的小例子吗?