【问题标题】:React Native AsyncStorage or ContextReact Native AsyncStorage 或 Context
【发布时间】:2021-09-03 14:25:41
【问题描述】:

我目前正在构建一个需要与所有组件共享的数据量非常少的应用。例如唯一的用户id、订阅信息等。

我目前将所有这些信息存储在AsyncStorage 中,并从每个组件中提取这些信息。这是一种可以接受的方式来存储这些信息吗?

我所有的组件都是类组件。我应该继续这样使用AsyncStorage吗?我应该使用上下文提供程序吗?

在上下文中包装所有组件将是一项大量工作。我宁愿不将类组件转换为函数式组件,但这会使useContext 的上下文更容易一些。在我继续之前,我只是在寻找最佳解决方案之前对本机做出反应。

感谢任何帮助。

【问题讨论】:

  • 这些值会改变吗?如果是这样,异步存储不会通知您的组件,因此它们不会重新渲染。
  • 不,这些值是在登录后设置的,除非注销并重新登录,否则不会更改。

标签: reactjs react-native react-context asyncstorage


【解决方案1】:

我认为使用上下文会是更好的解决方案。 您还可以使用 MobX 或 Redux 等状态管理。

仅当您需要将数据保存在本地以供以后使用时,才应使用异步存储。 例如,如果您想保存用户令牌,这样他就不必每次进入应用程序时都登录。 如果你这样做了,在应用启动时从存储读取值到上下文/状态。

还有一件小事。如果您确实将任何敏感数据保存到异步存储,请注意异步存储不是安全存储。

【讨论】:

    猜你喜欢
    • 2019-11-03
    • 1970-01-01
    • 2019-01-30
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多