reactjs - 访问登录凭据并将其显示在抽屉组件上
问题描述
我有一个反应本机应用程序,我想在其中显示登录凭据,例如电子邮件,自定义抽屉组件上的名称。当我控制台信息但无法在抽屉中显示它们时,我已经能够访问详细信息。
const customDrawerContentComponent = async (props) => {
let userInfo = {};
try {
await AsyncStorage.getItem('userInfo')
.then(function (value) {
return Object.assign(userInfo, JSON.parse(value))
})
.catch((err) => {
console.log(err)
})
} catch (e) {
console.log(e)
}
console.log(userInfo)
}
当我这样做时,我会得到详细信息。但是,当我尝试在(userInfo.name)之类的抽屉上显示详细信息时,它显示为空白。
如何在自定义抽屉组件上显示这些详细信息?
解决方案
您似乎混合了 Async/Await 和标准承诺的语法。您可以将 await 的值分配给一个变量,然后遍历结果以呈现您的内容,如下所示:
const customDrawerContentComponent = async (props) => {
try {
const userInfo = await AsyncStore.getItem('userInfo');
console.log(userInfo);
return (
<div>
{/* Don't know what userInfo is, but according to your error it looks like it's an array. */}
{userInfo.map(item => (
<p>item</p>
))}
</div>
)
} catch(e) {
console.log('Oops, there was an error: ', e);
return (
<div>
{JSON.stringify(e)}
</div>
)
}
};
查看 Async/Await 文档,了解它与解决普通承诺有何不同:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function
推荐阅读
- c++ - C ++如何限制输入ID号的重复?
- mule - 骡数据编织转换
- aes - 在 C# 中使用 micro-ecc 生成的原始 secp256k1 公钥在服务器上生成共享密钥
- android - 不更新 recyclerview 中的第一项
- oracle - 即使尚未将其插入表中,如何触发“查看”某些默认值?
- reactjs - 带有 Typescript 的 ReactJS 中的 MomentInput 类型是什么?
- php - 将 2 个数组合并为一个映射数组
- service - 过多的 TaskCanceledExceptions
- datetime - PYSPARK 中的数据时间
- rest - 如何在springboot中发送带有休息请求的完整yaml文件?