gpt4 book ai didi

javascript - React Native 中的 AsyncStorage 单例

转载 作者:行者123 更新时间:2023-12-02 23:01:39 24 4
gpt4 key购买 nike

我想创建一个单例来收集应用程序所需的所有数据。也许这种做法是错误的,请指正。

现在我的 Singleton 类有简单的代码:

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()

不幸的是,如果我设置了一些东西,我以后就无法收到它了。在这种情况下,我会很高兴获得一些帮助

最佳答案

我认为您想在 AsyncStorage 上存储一些参数,但您不希望每次都导入它并使用它来将参数保存在手机存储上。 React-native 应用程序的常见方法是使用 redux-persist 库。通过使用这个库,您可以保存 redux 存储中的每个参数。您可以在这里阅读更多相关信息 https://github.com/rt2zz/redux-persist 。您可以将所需的每个参数放入 redux-persist whitelist 中,它将保存在您的手机存储中。

希望能解决您的问题。如果这是您想要的解决方案,请投票给我:)

关于javascript - React Native 中的 AsyncStorage 单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57757915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com