gpt4 book ai didi

flutter - 如果您仅使用 dart 包(riverpod)或如何在没有上下文的情况下使用 Provider,如何监听更改?

转载 作者:行者123 更新时间:2023-12-04 08:30:16 27 4
gpt4 key购买 nike

我正在学习 flutter ,如果我得到一个听 dart only package aka riverpod 变化的例子,这将很容易理解。
我在没有无状态或有状态小部件(基本上没有 Buildcontext)的类里面使用 Provider。
所以我像这样将上下文从其他类传递到这个类,虽然它有效,但我觉得它不是正确的方式。

class SaveToLocal {
final BuildContext context;
SaveToLocal(this.context);

foo(){
//used context here
var model = Provider.of<MyList>(context, listen: false);
}
}
然后我遇到了 Riverpod,其中仅 dart 包不需要上下文,但我很困惑,因为我找不到 ProviderScope 之类的东西。
This example on pub.dev正在使用 FutureProvider 如果我只想从模型中获取怎么办
我的意思是模型
class MyList extends ChangeNotifier {
List<String> _myList = [];
List<String> get myList => _myList;

foo(){
//some task here
notifyListeners();
}
所以这里有问题
1.这是使用上下文的适当方式吗
2.有没有其他方法可以实现这一目标
3.我能得到一个简单的例子,比如 CounterApp 显示阅读和观看吗?

最佳答案

对于第一个问题,答案是否定的:上下文不应保存在某些外部类中,因为它可能会导致问题。
我将这些示例链接到您如何在应用程序中正确管理状态:

  • https://medium.com/codechai/provider-state-management-in-flutter-d453e73537c5
  • 关于flutter - 如果您仅使用 dart 包(riverpod)或如何在没有上下文的情况下使用 Provider,如何监听更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65061854/

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