【问题标题】:What is scenario of using Redux in mobile apps?在移动应用中使用 Redux 的场景是什么?
【发布时间】:2017-07-06 09:32:47
【问题描述】:

我正在使用 react native 制作移动应用,经过几天的学习 Redux 和 react-redux。

我有一个大大的问号:

react-native 中使用 Redux 的场景是什么?

我研究了许多教程,这些教程告诉我们它管理状态是多么美妙,它管理动作是多么简单。

但是,当您的应用中的一个页面上只有许多组件时才会发生这种情况吗?

例如,如果我有一个有 2 个页面的应用程序,即页面 A 和页面 B。

redux 是否可以保持 A 的状态,然后在 B 处使用? (我用的是react-navigation的页面跳转

如果可以的话,我在A中存储状态到AsyStorage,然后在B上取回有什么不同?

严重困惑。

如果我弄错了,请您讨论一下。

谢谢!

【问题讨论】:

  • 你可以阅读这个由 redux creator 写的medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367
  • 我的理解是,当你初始化一个App的时候,就有一个Store。在商店中,我们有具有初始值的对象 pageA 和 pageB 。每当我们进行操作时,我们都会有 reducer 来更新 pageA 和 pageB 存储以维护我们应用程序中的状态。通过使用 react-navigation 在页面之间跳转不会改变商店的状态。如果你刷新你的应用,一切都会重新初始化。
  • 谢谢大家,我想我明白了。

标签: react-native redux react-redux react-navigation


【解决方案1】:

在进入您的问题陈述之前,让我们先看看为什么我们应该使用这些工具?

用于处理应用程序的数据:
State - 它处理组件的内部数据并不复杂。
Props - 它在父组件和子组件之间来回传递数据。
Redux - 它使用 action-reducer-store 架构有效地处理数据。非常适合需要处理大量用户数据的复杂应用。

对于数据持久性:
AsyncStorage - 用于手动保存和管理设备上数据的简单 API。
Redux Persist - 基于 Redux 构建,可将所有 Redux 状态数据同步存储到设备。

现在回到你的情况, 如果您只有两个屏幕来来回管理数据,最好只使用状态和道具。您不需要其他任何东西。
通过调用 AsyncStorage,您可以在设备上保存数据,然后从另一个屏幕接收数据。如果您不希望应用的数据在关闭应用后仍保留在设备上,则无需这样做。

我希望这会有所帮助:)

【讨论】:

  • 嗨,我只是以两页为例,我对 redux 和原始状态的好处感到困惑。如果 redux 只能在一个页面的应用程序上工作,那么无论有多少页面,它都是无用的。感谢您的回答。
猜你喜欢
  • 1970-01-01
  • 2022-01-22
  • 2013-09-06
  • 2018-03-09
  • 1970-01-01
  • 1970-01-01
  • 2016-04-13
  • 2014-07-10
  • 2015-04-20
相关资源
最近更新 更多