Mic*_*cki 7 storage android user-input ios react-native
我需要在会话之间存储一些用户数据,例如设置,登录,令牌等.尝试了异步存储,但是当我重新启动应用程序时,其中的数据将被删除.找到了一些引用钥匙串或NSUserDefaults的模块,但我不知道哪个模块和任何模块都有用.
主要功能是即使应用程序被杀死并重新启动后,我也可以获取该数据.主要是在iOS上,但如果它也在Andorid上,那就太好了.
有人有过一些经验吗?
编辑:
我尝试使用asyncstorage.但是当你杀死并重启应用程序时,它没有做任何事情.
我存储数据的代码:
AsyncStorage.setItem("prefix", responseData['prefix'])
AsyncStorage.setItem("api_token", responseData['api_token'])
Run Code Online (Sandbox Code Playgroud)
并检索数据:
async _checkAutoLogin(){
var prefix;
var token;
try {
prefix = await AsyncStorage.getItem("prefix");
token = await AsyncStorage.getItem("api_token");
} catch (error) {
AlertIOS.alert('AsyncStorage error: ' + error.message);
}
Run Code Online (Sandbox Code Playgroud)
AsyncStorage应将您的数据保存到设备,以便您可以访问它,无论您的应用程序先前是否已发送到后台或已冷启动.如果您尝试使用await关键字,我认为您需要执行一些额外的设置才能使其运行.这是一篇很好的文章,可以帮助您实现这一目标.
此外,根据您打算使用AsyncStorage的程度,React Native网站会说:
建议您在AsyncStorage之上使用抽象而不是AsyncStorage直接用于除了轻量级用途以外的任何抽象,因为它全局运行.
我已经编写了一个名为react-native-simple-store的小包装器,它只包含AsyncStorage并公开了一个简约API,但默认情况下为JSON.stringifying和JSON.parsing提供更复杂的值,所以你没有担心它.
或者,如果您最终需要更多本地数据库,那么还有其他模块.
希望有所帮助!
https://facebook.github.io/react-native/docs/asyncstorage.html#content可能可以解决问题。它说它是持久存储,这可能意味着您正在寻找的质量。