是否有任何策略可以让您的代码仅运行一次(如initState())并具有可用的上下文(以使用.of(context))。例如,我正在获取Bloc.of(context),我想订阅它(做一些事情,例如显示警报对话框等)。订阅build()意味着多次订阅
我可以使用didChangeDependencies()并设置订阅?? = bloc.listen,但是我想知道是否还有另一种好的策略。
答案 0 :(得分:0)
还有另一种方法,通过添加“ bool”变量并将其在“ initState”中设置为“ false”,然后命名为(isExec)
2-在构建方法中检查“ isExec”是否== false,然后运行您想要对其执行一次的代码(警报,订阅等)
3-将“ isExec”更改为true(isExec = true);
现在,如果您的应用程序状态更改了构建方法,请避免在if语句中使用该代码