我有一个用于我的本机应用程序的同步存储的用例。
在应用呈现主视图之前,我想检查本地存储上是否存在会话令牌,如果可用则继续,否则想要将登录组件呈现为初始视图。
使用同步存储将简化代码。
答案 0 :(得分:10)
我认为没有简单的同步存储选项。根据{{3}}回答,localstorage未在核心IOS javascript引擎中实现。 AFAIK其他选项(如this localstorage polyfill中使用的选项)不起作用。这让我们需要一个反应原生模块,这是设计上的异步。来自this:
React Native bridge是异步的,因此将结果传递给JavaScript的唯一方法是使用回调或发出事件
所以我认为Async是要走的路。
答案 1 :(得分:3)
对于那些正在寻找此事的人, 我找到了满足这种需求的npm包
答案 2 :(得分:1)
我有类似的情况,发现Realm支持同步读取,这是我需要的。对于单令牌存储,Realm有点大。我将AsyncStorage用于其他一切。如果您找到更简单的解决方案,请告诉我。
答案 3 :(得分:0)
没有任何与Native Mobile开发类似的解决方案,例如Android中的SharedPreferences。
本机方式:大多数操作都是同步的。 (例如从存储中读取等),某些操作是异步的。(http请求,加载图片)
本机反应方式:几乎所有操作都是异步的。这由@Ryan Harmuth的答案解释。
因此,让我们开始使用Redux作为解决方案。 :)