使用提供程序调用无状态小部件中的dispose函数



我在一个单独的Singelton类中维护一个计数器的状态(比如说(,我正在应用程序中使用provider,我想在弹出当前屏幕小部件时重置该状态。

注意:我想尽可能使用无状态小部件,但任何关于在无状态中实现这一点的想法。类似于changeNotifier提供程序中的某种dispose函数。

任何用ChangeNotifier扩展的类都会得到一个可以重写的Dispose函数。

示例:

class MyClass with ChangeNotifier {
@override
void dispose() {
// dispose your stuff here
super.dispose();
}
}

ChangeNotifierProvider()ChangeNotifierProvider.value()不同。默认情况下,ChangeNotifierProvider()会设置dispose方法,但ChangeNotifierProvider.value()不会。

ChangeNotifierProvider({
Key? key,
required Create<T> create,
bool? lazy,
TransitionBuilder? builder,
Widget? child,
}) : super(
key: key,
create: create,
dispose: _dispose,
lazy: lazy,
builder: builder,
child: child,
);

最新更新