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