与.autoDispose修改器一起使用的 Flutter 生命周期

cl25kdpy  于 2022-12-27  发布在  Flutter
关注(0)|答案(1)|浏览(165)

我一直在尝试理解Riverpod是如何工作的,我想知道当在Flutter中更改路线时,它是如何知道何时使用.autoDispose修饰符销毁提供者的状态的。它是以某种方式订阅了导航器的更改吗?
文件指出:

A common use case is to destroy the state of a provider when it is no-longer used.

There are multiple reasons for doing so, such as:

- When using Firebase, to close the connection and avoid unnecessary cost.
- ***To reset the state when the user leaves a screen and re-enters it.****
8qgya5xd

8qgya5xd1#

“autoDispose”逻辑不依赖于Flutter特定逻辑。
相反,它完全依赖于当前是否正在侦听提供程序。
当一个路由被弹出时,相关的小部件被销毁,这会导致该路由中的ConsumerWidget停止监听它们的“被监视”提供者。
然后,如果提供者现在没有更多的侦听器,它将被释放。

相关问题