问题标签 [asyncstorage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
react-native - React Native 的 AsyncStorage 可能失败的案例有哪些?
React Native 提供该AsyncStorage
库作为在 RN 应用程序中存储持久数据的一种方式。一般来说,AsyncStorage 使用起来非常简单,除了一个方面:
两个主要AsyncStorage
功能,AsyncStorage.getItem
和AsyncStorage.setItem
return Promise
s。这很容易理解:函数的实际查询或保存在后台运行,获取或保存项目可能会失败,需要我们catch
出错。
但是,似乎 React Native 文档中没有任何地方具体说明调用orAsyncStorage
时应该预期的失败情况或错误。当然,可以推断出一些错误情况:一个可能尝试使用不存在的密钥,或者一个可能尝试使用完整或几乎完整的存储,并且操作系统可能拒绝为您释放更多磁盘空间应用程序,但没有完整列表令人沮丧。setItem
getItem
getItem
setItem
很高兴知道究竟如何AsyncStorage
如何失败的,这样开发使用数据持久性的 React Native 应用程序的人可能会确切地知道他们需要处理哪些失败情况。
react-native - 从使用 redux-thunk 和 AsyncStorage 获取响应
我正在使用 react-native、redux-thunk、jwt 和 AsyncStorage 来验证和定位该项目中的用户。似乎请求从 axios 转到后端,但我在 chrome 控制台中没有看到返回的响应('in axios' 和 '?' 没有显示),我不知道我的代码可能出了什么问题。
在我的行动/userAuth.js
以前有没有人遇到过这种问题,或者有人知道这段代码中的问题是什么以及如何调试它?
将不胜感激任何建议或答案。
谢谢你。
react-native - 从 React Native 中的 AsyncStorage 获取项目
我有一份 React Native 公司的名单。
当我单击其中一家公司时,我会获得用于所选公司的 API 的 URL。然后我将其存储到AsyncStorage
然后显示登录屏幕。功能如下:
然后在登录页面上,如果我点击sign in
按钮,我会转到该onLogin
功能,功能如下:
并且data.url
来自data.js
文件,我尝试url
从data.js文件中获取如下:
但它不起作用。有什么建议吗?
database - React Native 本地存储最佳实践
我正在开发一个反应本机应用程序,我需要将一些数据存储到设备上的本地存储中。当然你有很多包可以帮助解决这个问题,但看起来存储是使用键值对完成的。
我想知道在 react-native 应用程序上实现一些结构化存储的最佳实践是什么?
例如我要保存的东西是:
将这些存储在基于键值的存储系统中的最佳实践是什么。
如果我想要一个类似文件夹的结构,我可以存储为:
我可以将密钥命名约定为“ {folders}/{file}
”,例如密钥可以称为:' photos/album1/photo1.jpg
'。并且该值可以是图像的base64编码;但是在大型团队中使用这样的字符串名称,可能很难维护这样的命名约定,因为键名可以是任何字符串。
那么其他人是如何实现复杂的本地存储数据结构的呢?
database - React Native [iOS] 数据库选项
我正在寻找在 React Native 中创建一个 iOS 应用程序,并想知道适合我的应用程序的最佳数据库选项是什么。
该应用程序将由大约 300 个数据对象支持,这些数据对象将从远程服务器作为 json 对象获取。这 300 个对象的属性存在一些差异。因此,我对设置不灵活的数据库模式犹豫不决。
理想情况下,我只想要 1 个具有 2 个属性的数据库:1)id(例如:从 1 到 300)2)数据(例如:{“hello”:“world”})
给出以上内容,关于我应该使用什么样的 react-native 数据库模块有什么建议吗?
谢谢
javascript - 如何检查 React Native 中的 AsyncStorage 中是否存在密钥?getItem() 总是返回一个承诺对象
我正在尝试检查密钥是否AsyncStorage
可用AsyncStorage.getItem('key_name')
。如果密钥不可用,它不会返回 null,它仍会返回以下 promise 对象:
我获取数据的功能如下:
如何检查 AsyncStorage 中是否存在密钥?
react-native - AsyncStorage 不返回回调
我redux-persist
在一个 react native 项目中使用,它在除 Android 7 之外的大量设备中运行良好。我正在尝试调试为什么我的本地存储也不持久的问题,并发现了这一点:
以下代码在 React Native 组件生命周期内执行
'Inside setInterval' 之后的代码永远不会被调用。如果在 setInterval 之外,它只会运行一次。如果我在 setInterval之外调用一次代码,它似乎运行得很好。我也尝试过回调格式与异步/等待版本,但这似乎并不重要。
我在使用 firebase js 库时遇到了同样的问题(回调在第一个之后永远不会返回)。我现在正在寻找解决问题的替代方法。
有任何想法吗?
javascript - React Native AsyncStorage 保存多个项目
是否可以使用 AsyncStorage 保存具有相同密钥的多个项目?我有一个可以添加到收藏夹的多个项目的 ListView,当用户按下“添加到收藏夹”按钮时,它会执行以下代码:
但如果我想添加另一个项目,它将替换前一个项目。如何使用相同的密钥添加多个?所以我可以在收藏夹屏幕上调用这段代码:
我知道我可以使用领域进行数据管理,但我发现它比 AsyncStorage 更难。