React Native 中的 AsyncStorage 单例
AsyncStorage singleton in React Native
我想制作一个单例来收集应用程序周围我需要的所有数据。可能这个方法不对,请大家指正
现在我的单例 class 有简单的代码:
import { AsyncStorage } from 'react-native'
export default class DataManager {
static myInstance = null
stringsArray = null
static instance() {
if (DataManager.myInstance == null) {
DataManager.myInstance = new DataManager();
}
return this.myInstance;
}
async getStringsArray() {
if (this.stringsArray == null) {
let strings = await AsyncStorage.getItem('stringsArray')
this.stringsArray = JSON.parse(strings)
}
return this.stringsArray
}
async setStringsArray(strings) {
this.stringsArray = strings;
await AsyncStorage.setItem('stringsArray', JSON.stringify(strings))
}
}
这就是我想要调用 getter 和 setter 的方式:
DataManager.instance().setStringsArray(["abc", "def"])
let stringsArray = DataManager.instance().getStringsArray()
不幸的是,如果我设置了一些东西,我以后就收不到了。在这种情况下,我很乐意提供一些帮助
如果您正在寻找在各种组件之间或通过应用程序共享数据的方法,请尝试使用 redux https://blog.cloudboost.io/getting-started-with-react-native-and-redux-6cd4addeb29
我认为您想在 AsyncStorage
上存储一些参数,但您不想每次都导入它并使用它来将参数保存在 phone 存储上。 react-native 应用程序的常用方法是使用 redux-persist
库。通过使用此库,您可以保存 redux 存储中的每个参数。您可以在此处阅读更多相关信息 https://github.com/rt2zz/redux-persist。你可以把你想要的每个参数放在 redux-persist
whitelist
中,它会保存在你的 phone 存储中。
希望能解决您的问题。如果这是您想要的解决方案,请给我投票:)
我想制作一个单例来收集应用程序周围我需要的所有数据。可能这个方法不对,请大家指正
现在我的单例 class 有简单的代码:
import { AsyncStorage } from 'react-native'
export default class DataManager {
static myInstance = null
stringsArray = null
static instance() {
if (DataManager.myInstance == null) {
DataManager.myInstance = new DataManager();
}
return this.myInstance;
}
async getStringsArray() {
if (this.stringsArray == null) {
let strings = await AsyncStorage.getItem('stringsArray')
this.stringsArray = JSON.parse(strings)
}
return this.stringsArray
}
async setStringsArray(strings) {
this.stringsArray = strings;
await AsyncStorage.setItem('stringsArray', JSON.stringify(strings))
}
}
这就是我想要调用 getter 和 setter 的方式:
DataManager.instance().setStringsArray(["abc", "def"])
let stringsArray = DataManager.instance().getStringsArray()
不幸的是,如果我设置了一些东西,我以后就收不到了。在这种情况下,我很乐意提供一些帮助
如果您正在寻找在各种组件之间或通过应用程序共享数据的方法,请尝试使用 redux https://blog.cloudboost.io/getting-started-with-react-native-and-redux-6cd4addeb29
我认为您想在 AsyncStorage
上存储一些参数,但您不想每次都导入它并使用它来将参数保存在 phone 存储上。 react-native 应用程序的常用方法是使用 redux-persist
库。通过使用此库,您可以保存 redux 存储中的每个参数。您可以在此处阅读更多相关信息 https://github.com/rt2zz/redux-persist。你可以把你想要的每个参数放在 redux-persist
whitelist
中,它会保存在你的 phone 存储中。
希望能解决您的问题。如果这是您想要的解决方案,请给我投票:)