gpt4 book ai didi

android - React Native 中带有 AsyncStorage 的 GetItem 不起作用

转载 作者:行者123 更新时间:2023-11-29 23:09:16 26 4
gpt4 key购买 nike

我是 React Native 的新手,当我尝试从下面的 React-Native 中的 AsyncStorage 获取数据时,索引 1 处的绑定(bind)值为 null 是我的代码。

Alert.alert(
'Info',
'React AsyncStorage',
[
{text: 'Get Data',onPress: () => this.getValue('name'),},
{text: 'Save Data', onPress: () => this.saveValue('name', 'abc'),}
],
{cancelable: false},
);


async saveValue(key:String, value:bool) {
AsyncStorage.setItem(key, value);
Alert.alert('Data', 'saving');
}
async getValue(key) {
// try {
// await AsyncStorage.getItem(Constant.SHOW_INTRO).then((value) =>
// console.log(`AsyncStorage GET for Constant.SHOW_INTRO: "${value}"`));

// } catch (error) {
// Alert.alert('Error', 'Error retrieving data');
// }

try {
const value = await AsyncStorage.getItem(key)
console.log(`AsyncStorage GET for "${key}": "${value}"`);
} catch (error) {
Alert.alert('Error', 'Error retrieving data');
}
}

请帮忙。

最佳答案

您可以使用这种格式:

setData = (value) => {
// if value is an Object use this: value = JSON.stringify(value)
// if value is a number use this: value = value.toString()
AsyncStorage.setItem('myKey', value, () => {
console.warn('Done!')
})
}

getData = () => {
AsyncStorage.getItem('myKey').then(storage => {
console.warn(storage)
}).catch(e => console.warn(e))
}

然后:

this.setData('sample text') 

编辑:

AsyncStorage 需要一些时间来获取数据,因此它会返回一个 promise ,直到值可用为止。您必须调用 then() 函数并从那里获取值。在从存储中检索值后调用 then() 函数中的任何内容。

关于android - React Native 中带有 AsyncStorage 的 GetItem 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56181457/

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