【问题标题】:Flutter Riverpod, how to set minimut loading state time?Flutter Riverpod,如何设置最小加载状态时间?
【发布时间】:2022-12-16 08:52:09
【问题描述】:

使用 Flutter 和 Riverpod 构建应用程序,使用了很多:

ref.watch(someProvider).when(data: (someData){
   // render layout with data
}, error: (err, stack) { 
  // do stuff with error
}, loading: (){
  return LoadingScreen(); <----
})

问题在于,在大多数情况下,加载屏幕只会呈现一瞬间,导致应用感觉有点“跳动”的糟糕体验。我希望能够为加载状态设置至少 2 秒,是否可以强制小部件在最短时间内保持渲染状态?

【问题讨论】:

    标签: flutter riverpod flutter-riverpod


    【解决方案1】:

    我有 2 个建议给你:

    选项 A - 你可以在你的提供者中放置 2 秒的延迟,介于加载和下一个状态之间。这样你就可以让加载屏幕至少显示 2 秒。

    选项 B - 您还可以制作一个 loadingScreen 作为覆盖小部件,它会在 2 秒后自行消失。这样你就可以让加载屏幕显示正好 2 秒。

    我相信任何一种方式都适合你的情况,因为你说它闪烁,我假设在状态之间没有完成繁重/长时间的任务。如果您确实需要繁重/长时间的任务,选项 A 保证任务在加载屏幕消失之前完成。

    【讨论】:

    • 很好的提示,将看看这两个选项!谢谢
    猜你喜欢
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    相关资源
    最近更新 更多