Flutter 如何使用Riverpod减少复制的代码

Flutter 如何使用Riverpod减少复制的代码,flutter,riverpod,Flutter,Riverpod,我觉得自己用Riverpod复制了很多相同的代码。举个例子,如果我有这样的东西: ...modelList.when( data: (data) { display page when data returns }, loading: () { display disabled version of page until data returns} , error: (error, st) { displa

我觉得自己用Riverpod复制了很多相同的代码。举个例子,如果我有这样的东西:

         ...modelList.when(
            data: (data) { display page when data returns },
            loading: () { display disabled version of page until data returns} ,
            error: (error, st) { display page with error message },
          )

我发现自己在3个不同的地方显示了页面的a版本。这感觉很重复,我觉得我一定做错了什么。建议?

您建议如何用更少的代码解决这个问题

你需要在你的应用程序中处理不同的状态;我不确定在没有为每个州指定所需行为的情况下,如何做到这一点


你没有做错什么。试着使用bloc(例如),你会发现Riverpod提供的东西非常轻量级。

我想我看到了你的另一个答案Alex,关于抽象出有状态/无状态的小部件,并为页面或复杂的业务逻辑保留ConsumerWidget。