我正在学习颤振,如果我得到了一个例子,那就是聆听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] 删除。
我来说两句