如何 以反复原生的方式存储/保存数据 。就像我们在android中使用共享首选项一样,有任何反应原生的解决方案。我是新手反应-nactive。
请添加示例
答案 0 :(得分:10)
您可以使用React Native AsyncStorage将数据存储到设备的本地存储中。
import { AsyncStorage } from 'react-native'
使用此功能保存数据
AsyncStorage.setItem('key', 'value');
AsyncStorage仅接受字符串的值,因此在将值设置为AsyncStorage
之前,您可能需要使用stringify()
要检索数据使用
AsyncStorage.getItem('your key');
示例代码:
const KEY = 'USER_DATA'
let keyValue = { name: yogi }
AsyncStorage.setItem(KEY,keyValue);
AsyncStorage.getItem(KEY).then(asyncStorageRes => {
console.log(JSON.parse(asyncStorageRes))
});
答案 1 :(得分:5)
React Native也有共享首选项,这是npm命令来获取它:npm install react-native-shared-preferences --save
。您可以在此处获取完整的详细信息(如何在反应项目中进行设置):https://www.npmjs.com/package/react-native-shared-preferences
答案 2 :(得分:1)
使用了异步存储类来以React native的方式存储和检索数据
答案 3 :(得分:-1)
您可以使用比异步存储更易于使用的react-native-easy-app。 这个库很棒,它使用异步存储来异步保存数据,并使用内存来同步立即加载和保存数据,因此我们将异步保存到内存中并在应用程序同步中使用。
export const RNStorage = {// RNStorage : custom data store object
token: undefined, // string type
isShow: undefined, // bool type
userInfo: undefined, // object type
};
import { XStorage } from 'react-native-easy-app';
import { AsyncStorage } from 'react-native';
XStorage.initStorage(RNStorage, AsyncStorage, () => {
... // RNStorage 【Property access code snippet】
});
// OR ---------------------------------------------------------------
const result = await XStorage.initStorageSync(RNStorage, AsyncStorage);
if (result) {
... // RNStorage 【Property access code snippet】
}
// RNStorage 【Property access code snippet】
// From now on, you can write or read the variables in RNStorage synchronously
console.log(RNStorage.isShow);
// equal to [console.log(await AsyncStorage.getItem('isShow'))]
RNStorage.token = 'TOKEN1343DN23IDD3PJ2DBF3==';
// equal to [ await AsyncStorage.setItem('token',TOKEN1343DN23IDD3PJ2DBF3==') ]
RNStorage.userInfo = {name: 'rufeng', age: 30};
// equal to [ await AsyncStorage.setItem('userInfo',JSON.stringify({ name:'rufeng', age:30})) ]