【问题标题】:When To use async-storage and when to use redux in react native何时使用 async-storage 以及何时在 react native 中使用 redux
【发布时间】:2021-09-06 12:11:04
【问题描述】:
是否可以在异步存储中以访客、经理、员工、登录 ID 等身份存储登录信息,以根据这些值呈现 UI。
以及何时使用异步以及何时使用 redux。或者如果我使用 Async 管理我们的工作,那么为什么我必须使用 redux。因为到目前为止我还不知道redux。所以我以某种方式通过设置和获取异步值来管理我的渲染..
请帮忙谢谢。
【问题讨论】:
标签:
reactjs
react-native
redux
react-redux
asyncstorage
【解决方案1】:
两者是不同的东西异步存储会永久存储您的数据,直到您卸载应用程序,而 redux 可用于管理整个应用程序的状态,一旦您强制关闭应用程序,redux 将丢失您更新的状态(您可以坚持redux-persist 和 AsyncStorage 的状态)
我建议将 redux 与 redux-persist 一起使用(允许将特定的 reducer 持久化在 AsyncStorage 中),这样您就可以通过使用选择器轻松访问以更好地管理您的状态。同样使用 redux,您可以在组件/屏幕之间共享数据。
在异步存储中管理你的 json 会很困难,因为你需要将它转换为字符串,并且在获取解析它的同时,这是负担。
【解决方案2】:
您还应该查看 SecureStore,这是保存登录/密码/令牌等数据的安全地方。
使用 AsyncStorage 存储主题/语言等数据。这是一个可以使用的数据
在当前使用的手机上。您可以保留这些数据,下次使用该应用时可以使用这些设置。
使用 redux 管理汽车、动物等数据。如果您不需要每次都获取,有时您需要在登录时获取选定的数据。例如,您在登录时获得所有动物,当您进入动物视图时,您拥有所有动物而无需额外的 GET。您可以在每次进入此视图时执行此操作,前提是您确定来自其他帐户的其他用户不更新此数据,您应该在每次导航到此视图时执行此操作。