首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >你为什么要用Riverpod?

你为什么要用Riverpod?
EN

Stack Overflow用户
提问于 2022-08-24 05:34:45
回答 2查看 501关注 0票数 0

这里有setState和提供者,您可以轻松、整洁地管理您的状态,那么为什么使用Riverpod呢?,我在在这里输入链接描述中看到了不同的例子,在使用riverpod时,我只发现每个示例使简单的事情变得更加复杂,当您使用Riverpod时,可以更容易地使用提供者或使用setState来完成相同的事情,并且在代码中管理状态时遵循一些很好的技术。

有一个名为hooks_riverpod的包,我不认为这个包的理由仅仅是为了支持您入侵了所有的statndard小部件--尽管有另一个版本的flutter_riverpod,但是使用钩子并不是一种有意的方法,可能对来自reactjs背景的人有帮助,但是颤振工程师们并没有这样设计,使用这些非标准的方法,你只是把自己困在了这些软件包的摆布之下。

继承的小部件只是通过管理应用程序、提供者和其他一些包(如Redux )来管理状态的标准方法--它们只是遵循相同的方法。

如果您可能使用过Riverpod或相关的软件包,请分享您的经验。

EN

回答 2

Stack Overflow用户

发布于 2022-08-24 06:06:35

这取决于项目和您喜欢如何处理状态。如果您可以使用setState管理/继承的小部件,则不需要使用其他部件。

我喜欢在这里分享一些参考资料,在河荚博士第二部分你可以找到

Provider,没有它的限制,Riverpod是受提供者启发的,但是解决了它的一些关键问题,例如支持相同类型的多个提供者;等待异步提供程序;从任何地方添加提供者,

  • riverpod,仅限飞镖(无颤振)
  • flutter_riverpod,这是一种基本的方法,利用河床与颤振。你主要是把它用于国家管理。
  • 如果您正在使用钩子部件(flutter_hooks)来减少处理之类的样板代码,则可以使用hooks_riverpod

而且,所有这些包都是由同一个作者雷米·鲁塞莱提供的

票数 3
EN

Stack Overflow用户

发布于 2022-08-24 06:08:32

好吧,关于一个好的政府管理解决方案有很多争论。

但在你的背景下,我想提几点。

为什么是Riverpod而不是提供者?

嗯,Riverpod是为了解决提供者的一些问题而建的,这在提供者中是不可能解决的。比如:

  1. 主要而言,Riverpod是安全编译的。
  2. 解决多个提供者之类的问题,从任何地方添加提供程序。
  3. 消除对颤振的依赖,就不需要再像在提供者中那样使用上下文了。

其他人..。有关更多信息,您可以参考Riverpod 这里的主页

而且,Riverpod & Provider的创建者Remi建议使用Riverpod而不是Provider。

第二,为什么不是setState?

好吧,您不能仅仅使用带有适当编程标准的setState来构建一个功能强大的应用程序。您将不得不在您的应用程序中不断地传递与Prop钻孔相关的数据。假设在父小部件下有5个小部件,而父小部件需要第五个子小部件中的数据。这只是一个正常的情况,在实际应用中可能会变得更糟。

关于钩子?

嗯,是的,这是很容易的反应,发展迅速跳到颤栗。但这并不是它发展的目的。它的主要目的是使用可重用的功能部件。因此,这方面的一个很好的例子是,当您使用动画控制器时,每次使用它时都必须维护它的生命周期。我不能在这里深入,因为你可以参考文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73467886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档