我最近重构了一半的应用程序以使用提供程序模式,现在我遇到了问题。主要问题是我需要在init中初始化控制器(例如,文本控制器具有初始值或选项卡控制器的列表大小)
如果我需要的数据必须来自build方法中的状态,我该如何初始化Controllers。
例如。
// This must go in the build as it requires state
myTabsController = TabController(length: myState.list.length, vsync: this);
每次构建控制器时,我都会初始化该控制器。。。我打算把它放在init中,但仍然访问状态变量(因为没有上下文)。
我尝试使用AfterLayoutMixin库中的afterFirstLayout()回调,但这只会引起更多问题。当前带有选项卡栏,它会闪烁错误,因为没有为第一帧初始化任何选项卡,然后在调用afterFirstLayout并初始化选项卡时正确显示。这似乎是个漏洞修复
我想了解更多有关如何正确使用此模式以及什么是解决此问题的最佳解决方案的信息。
请让我澄清更多。 感谢您的帮助。