gpt4 book ai didi

flutter - 应该使用哪个 Riverpod Provider 结合 Navigator 2.0 来处理导航状态?

转载 作者:行者123 更新时间:2023-12-05 06:00:09 36 4
gpt4 key购买 nike

我正在使用 Flutter 开发一个相当复杂的跨平台(Android/iOS/网络)应用程序。我是 Flutter 的新手,有 Android 和 iOS 的原生开发背景。

我一直在研究在 Flutter 中处理导航和状态管理的最佳方法,到目前为止我的结论是最好的方法是使用 Navigator 2.0 API 结合 Riverpod状态管理库。据我所知,这些似乎是 Flutter 中用于导航和状态管理的最新和最强大的库。

但是,我发现弄清楚如何将 Riverpod 与 Navigator 2.0 集成并不容易。作为一个刚接触这两个库和 Flutter 的新手,我很想在文档(Navigator 或 Riverpod 的文档)中找到一些典型的例子来说明应该如何完成,但我还没有找到了这样一个例子。如果没有,我将非常感谢有关如何执行此操作的任何指导,特别是关于 Riverpod Provider 的多种类型中的哪一种最适合处理导航状态的工作。例如,选择 ChangeNotifierProvider 的理由是什么?在 StateNotifierProvider , 或相反亦然?有没有其他类型的 Riverpod Provider 比这两种提供程序都更好?

最佳答案

我把这个问题复杂化了很多,甚至做了一个巨大的路由器来绕过它(ray wenderlich 有一个 flutter 路由器的例子和其他一些教程)。我还尝试了一些其他用于路由的包,但它总是会以某种方式弄乱我的 UI

实际上归结为我必须将上下文传递给我的子类。因此,在任何不直接在您的 MaterialApp 路由中的构造函数中,您将执行 MyClass(BuildContext context,{required this.whatever});然后将其称为 MyClass(上下文,无论什么)。其余的使用 Navigator.pushnamed(context, routename) 对我来说工作正常。我有应用栏和带有导航选项的菜单,所以它更复杂。

我希望这是有道理的。 Flutter 的网站提供了有关设置 MaterialApp() 以及命名路由的信息。

您始终可以将自己的列表设置为堆栈,他们在 flutter 文档中提到了其中的一些,但听起来这是一种更复杂的处理方式。我知道 Providers 使用类,因此推而广之,我认为他们可以使用列表。

关于flutter - 应该使用哪个 Riverpod Provider 结合 Navigator 2.0 来处理导航状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67838167/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com