这个Obx小部件不能被标记为需要构建,因为框架已经在构建小部件的过程中



当我使用GetX使用底部导航栏时,我得到这个错误,主屏幕有一个控制器,我添加了一个可观察对象来管理底部导航栏状态。每个item都有一个Controller,我也添加了一个observable。

这个Obx小部件不能被标记为需要构建,因为框架已经在构建小部件了。小部件可以被标记为需要在构建阶段进行构建,只有当它的祖先目前正在建造。允许这个例外,因为框架在子部件之前构建父部件,这意味着肮脏的后代总会被建造。否则,框架可能会在此构建阶段不要访问此小部件。

onReady()可以构建小部件。


是的

我遇到同样的错误。解决这个问题的答案在https://stackoverflow.com/a/59485997/3120387

按照下面的格式包装侦听更新的代码:

WidgetsBinding.instance.addPostFrameCallback((_) {   
// your obx var, eg. global_variables.appBarTitle.value = "Messages";   
});

最新更新