android–React nativeTrouble with AsyncStorage get item

android–React nativeTrouble with AsyncStorage get item,第1张

概述我正在构建一个Android应用程序,我正在努力使用AsyncStorage.我想创建一个函数,它将一个键作为输入并返回给我项目.我的问题是,当我调用此函数时,它返回{_40:0,_65:0,_55:null,_72:null}而不是我正在寻找的值.这是我的代码:renderList(){asyncfunctionsave(){awai

我正在构建一个Android应用程序,我正在努力使用AsyncStorage.我想创建一个函数,它将一个键作为输入并返回给我项目.我的问题是,当我调用此函数时,它返回{_40:0,_65:0,_55:null,_72:null}而不是我正在寻找的值.

这是我的代码:

renderList() {    async function save() {        await AsyncStorage.setItem('Title', 'hello');    }    async function fetch(key) {        const value = await AsyncStorage.getItem(key);        console.log(value) ; // Return hello        return value    }    save() ;    fetch() ;    const reponse = fetch() ;    console.log(reponse) ; // Return { _40: 0, _65: 0, _55: null, _72: null }    return (        <Text style={styles.noteElementTitle}> Aa </Text>    )}

编辑:

我试过这个:

    async function getbody() {    await save();    const response = await fetch('Title');    console.log(response);    this.setstate({ Title : response}) ;    }    getbody() ;

但我仍然得到一个错误:TypeError:undefined不是一个函数(评估’this.setstate({Title:response})’)

解决方法:

您所看到的是由标记为异步的函数返回的Promise对象.您需要在调用函数时使用await,或者将值视为promise并使用then和catch.例如:

await save();const response = await fetch();console.log(response);

要么

save()  .then(() => fetch())  .then(response => console.log(response));

另外,请记住,您不应该在渲染函数中使用异步函数.在上面的代码中,您需要将fetch()函数的结果放入组件状态.

总结

以上是内存溢出为你收集整理的android – React native / Trouble with AsyncStorage get item全部内容,希望文章能够帮你解决android – React native / Trouble with AsyncStorage get item所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1111419.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存