【发布时间】:2021-08-22 13:31:00
【问题描述】:
我正在 Flutter 中开发一个相当复杂的跨平台(Android / iOS / web)应用程序。我是 Flutter 的新手,来自 Android 和 iOS 原生开发的背景。
我一直在研究在 Flutter 中处理导航和状态管理的最佳方法,目前我的结论是,最好的方法是将Navigator 2.0 API 与Riverpod 状态管理库结合使用。据我所知,这些似乎是 Flutter 中用于导航和状态管理的最新且功能最强大的库。
但是,我发现如何将 Riverpod 与 Navigator 2.0 集成并不容易。作为对这两个库和 Flutter 都不熟悉的人,理想情况下,我希望在文档(Navigator 或 Riverpod 的)中找到一些规范示例,说明应该如何完成,但我还没有找到了这样一个例子。如果没有,我将非常感谢有关如何执行此操作的任何指导,特别是关于多种 Riverpod 提供程序中的哪一种最适合处理导航状态的工作。例如,选择ChangeNotifierProvider 而不是StateNotifierProvider 的理由是什么,反之亦然?是否有其他类型的 Riverpod Provider 比这两种方法效果更好?
【问题讨论】:
-
您不会在 Navigator 2.0 上找到太多内容,因为坦率地说,它相当复杂,目前采用它的人并不多。就 ChangeNotifier 和 StateNotifier 而言,它们是直接替代品,可以互换。在我看来,StateNotifier 使用起来更自然。
标签: flutter flutter-navigation riverpod