![](/img/trans.png)
[英]Flutter-Riverpod - how to combine providers to filter on a Stream
[英]Flutter/Riverpod - how to combine providers for fetching data list and holding the data list as state?
我一直在玩 RiverPod 2.0 state 管理 package 來了解如何使用它進行 CRUD 類型的操作
我無法理解的是如何使用提供程序的范圍來支持..
在我的 Flutter 列表視圖中,我正在從 StateNotifierProvider 而不是 FutureProvider 讀取數據。
對於這種情況,您似乎需要兩個不同的提供者。 那是對的嗎?
目前,我正在使用 FutureProvider 加載數據列表,並在此 FutureProvider 中將數據推送到 StateNotifierProvider。 這是正確的方法嗎?
新方法是使用AsyncNotifier
從數據庫或服務器異步讀取數據。 您可以更詳細地閱讀有關該主題的一篇好文章:
另一方面,舊方法是將StateNotifier
與Async
state 一起使用。類似這樣的事情:
final dataProvider = StateNotifierProvider<MarketNotifier, AsyncValue<YOURDATA>>((ref) {
return DATANotifier();
});
class DATANotifier extends StateNotifier<AsyncValue<YOURDATA>> {
MarketNotifier() : super(const AsyncValue.loading()) {
_init();
}
Future<void> _init() async {
state = await AsyncValue.guard(() => LocalStorage().getData());
}
// Post your CRUD methods for working with data here
}
FutureProvider
是StateProvider
的異步版本,因為它不用作存儲和處理大型邏輯的地方。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.