每當我退出我的應用程式時,似乎并沒有清除所有的提供者狀態,當我登錄到另一個用戶時,我的應用程式崩潰了。有沒有辦法在執行注銷操作時將所有內容重置為默認值?
uj5u.com熱心網友回復:
這取決于您提供的物件的范圍。如果您在頂級提供它們,則實體將不會被處置并繼續存在。
可能的解決方案是:
- 在小部件樹中進一步提供您的狀態。
- 觀察您狀態中的注銷事件并自動執行狀態重置。有多種方法可以做到這一點,例如使用 ProxyProvider。
ProxyProvider<Session, SomeStateClass>(
create: (_) => SomeStateClass(),
update: (_, session, instanceOfStateClass) {
return instanceOfStateClass..reinitialize(session);
}),
在上面的示例中,當 Session 通知更改時,將呼叫 update 方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/402072.html
標籤:扑
上一篇:有狀態小部件中的子屬性
