【问题标题】:Passing data to a slider将数据传递给滑块
【发布时间】:2019-10-19 20:23:05
【问题描述】:

我正在制作一个店面原型,并且我有一个滑块,我可以在其中选择查看用户的个人资料。每个用户都必须先注册才能访问商店(只是一个原型)。

当新用户注册成功时,他们将立即被发送到产品目录屏幕。在同一个目录上会有一个滑块,在那个滑块中会有一个选项来查看用户的个人资料页面。

我的问题是,如何通过目录页面发送用户的信息(姓名、电子邮件和电话号码),然后通过滑块,然后到用户的个人资料页面?

我已经有一个类来保存在 RegisterPage 类/屏幕上创建的用户信息。

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    除非我读错了问题,否则听起来某种状态管理解决方案在这里会很有用。也就是说,一旦您知道用户的详细信息,就应该将它们存储在以后可以从其他小部件轻松访问的位置。

    有几个可用的状态管理选项:

    • StatefulWidget - 一种经典、最简单的方法。有一个跟踪状态(用户详细信息)的StatefulWidget,并将它们向下传递到小部件树到可以使用这些详细信息的组件。如果您有一棵很深的树,并且需要将数据向下传递到几个并不真正关心所述数据的层,那就有点笨拙了。
    • InheritedWidget。每当继承的小部件本身更改状态时,沿着小部件树传播信息并重建 UI。相对简单,简单的解决方案。与StatefulWidget 不同,您可以在需要的地方检索所需数据,而不必将其作为参数传递给另一个小部件。
    • Provider package。 Remi Rousselet 的状态管理解决方案,由 Google 自己认可。易于使用和理解,并且相当可扩展。宣传为:

      依赖注入 (DI) 和状态管理的混合体,使用小部件的小部件构建。

    • Redux。另一种以包形式出现的状态管理解决方案。如果您使用过 React/Redux,您会感到宾至如归。它不像 JavaScript 对应物那样功能齐全,但想法是一样的:拥有一些小部件正在侦听的存储,并在数据发生变化时重建它们。
    • BLoC / Rx。 Google 推荐的管理状态的方法之一。严重依赖溪流。理解起来有点复杂,但是一旦你理解了就会相当强大。
    • MobX。另一个从 JavaScript 世界移植的状态管理解决方案。我对它没有太多经验,但我相信它是基于可观察的、行动和反应的。我希望它应该与 JavaScript 的对应物非常相似。

    您可以前往官方documentation 上的专用页面阅读更多关于这些内容的信息。

    就个人而言,我可能会先选择一些相对简单的东西——也许是InheritedWidgetprovider 包。但是,这在很大程度上取决于您的用例以及您喜欢/想要尝试的编程范式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-29
      • 2020-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多