如果您使用的仅是飞镖程序包(riverpod),或者在没有上下文的情况下如何使用提供程序,如何收听更改?

苏杰

我正在学习颤振,如果我得到了一个例子,那就是聆听DART Only软件包又名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之类的东西而感到困惑,我也搜索了示例,但大多数都在flutter_riverpod上而不在riverpod上。
pub.dev上的此示例使用的是FutureProvider,如果我只想从模型中获取

我所说的模型

class MyList extends ChangeNotifier {
  List<String> _myList = [];
  List<String> get myList => _myList;
  
  foo(){
    //some task here
    notifyListeners();
  }

因此,这里有一些问题1.
是使用上下文的这种适当方法
吗?2.还有其他可以实现此
目的的方法吗?3.我能否得到一个如CounterApp的简单示例,其中显示了读取和监视?

苏杰

对不起,我感到困惑,我认为Riverpod仅适用于飞镖类,但适用于非Flutter应用程序(在阅读reso coder文章后说),因为我进一步尝试了flutter_riverpod并在没有上下文的情况下使用(如Random先生所说),并且运行良好。

class SaveToLocal {
  final container = ProviderContainer();

  foo(){
    var model = container.read(listProvider);
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档