gpt4 book ai didi

flutter - riverpod 中的 autoDispose 修饰符

转载 作者:行者123 更新时间:2023-12-05 05:45:54 25 4
gpt4 key购买 nike

我在提供程序中有多个值(在类中),当我在提供程序中使用 autoDispose 修饰符时,我只想处理提供程序中的几个值是否可以这样做?

我已在互联网上搜索过此内容,但没有找到与此要求相关的任何资源。

final provider = StateProvider((ref) => LoginDetails(
errorMessage: '', status: 0));

class LoginDetails {
int status;
String errorMessage;
LoginDetails({
required this.status,
required this.errorMessage,
});

LoginDetails copyWith({
int? status,
String? errorMessage,
}) =>
LoginDetails(
status: status ?? this.status,
errorMessage: errorMessage ?? this.errorMessage,
);
}

最佳答案

没有办法让 autoDispose 只处理一些属性。autoDispose 是全有还是全无

另一方面,使用 2.0.0-dev 版本,您可以使用 ref.onCancel 在最后一个监听器被移除时执行一些逻辑——即使在不是 自动处理

所以你可以这样做:

final provider = Provider((ref) {
ref.onCancel(() {
// TODO reset the few properties of your choice
});

return SomeState();
});

关于flutter - riverpod 中的 autoDispose 修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71274437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com