使用 Riverpod 在 Flutter 中实现下拉刷新

Implementing pull-to-refresh in Flutter with Riverpod

我是 Riverpod 的新手,正在尝试在我的 Flutter 应用程序中使用 Riverpod 实现下拉刷新,但似乎无法在网上找到任何好的教程。有没有人在使用 Riverpod 时在他们的 Flutter 应用程序中实现了下拉刷新。我到处都在寻找教程,但我发现的大多数是应用程序加载时的简单网络请求。提前致谢!

将这些依赖项用于 riverpod 和网络请求。 flutter_riverpod:^0.12.1 dio: ^3.0.10

您可以在刷新操作中使用 context.refresh(yourProvider)。效果很好。

在Riverpod 1.0.0及以上版本中,您可以使用ref.refresh(yourProvider)

原来使用 Riverpod (^1.0.0) 的 工作 下拉刷新 UI 的方法是这样的:

提供商:

final yourFutureProvider = FutureProvider<T>(....);

构建方法内部:

                  return RefreshIndicator(
                    onRefresh: () async {
                      return await ref.refresh(yourFutureProvider);
                    },

这对我有用

Declare the provider

final sessionsProvider = FutureProvider<List<Session>>((ref) async {
  final sessionServices = ref.read(sessionsServiesProvider);
  return await sessionServices.getSessions();
});

add refresh indicator

RefreshIndicator(
        onRefresh: () async => ref.refresh(sessionsProvider),
        child: ...)