【发布时间】:2020-06-29 06:22:15
【问题描述】:
我正在从initState() 方法调用ChangeNotifier 函数之一,而函数内部的notifyListener() 调用正在抛出
setState() or markNeedsBuild() called during build.异常
void initState(){
Provider.of<MessengerRepository>(context, listen: false).setUnreadCount(0);
super.initState();
}
class MessengerRepository with ChangeNotifier {
int unreadCount;
void setUnreadCount(int value){
unreadCount = value;
notifyListeners();
}
我需要在setUnreadCount() 中调用notifyListener(),因为我在执行期间在多个位置调用setUnreadCount() 函数。所以不能只删除notifyListener()里面的initState()。
使用provider 4.0.4 版
【问题讨论】: