在我的 Flutter 应用程序中,我有一个小部件
class HomeScreen extends StatelessWidget
Run Code Online (Sandbox Code Playgroud)
使用模型
class HomeScreenModel extends ChangeNotifier
Run Code Online (Sandbox Code Playgroud)
这两个对象使用 ChangeNotifierProvider 绑定在一起。
当应用程序加载 HomeScreen 小部件时,我想调用 HomeScreenModel 的自定义 init() 函数以将一些数据从磁盘异步加载到模型中,然后使用 notifyListeners() 函数通知侦听器。这应该做一次。
调用这个 init() 函数的正确位置是什么?据我所知,对于无状态小部件,没有仅调用一次的生命周期函数。不过,我很确定 HomeScreenModel 的构造函数只被调用一次。
从它自己的构造函数调用异步 HomeScreenModel.init() 函数是否安全?关于如何将数据异步加载到作为 ChangeNotifier 实现的模型中,是否有任何最佳实践?
谢谢大家!