Display Cognito user custom attribute in react native app

0

I'm working on a react native app with AWS Amplify. Using fetchUserAttributes() function (from aws-amplify/auth), I get my signed in user info as following :{"custom:category": "particulier", "email": "email@gmail.com", ...} I'm ok manipulating and displaying basic attributes such as email in the app with the following : "const userAttributes = await fetchUserAttributes();" and "userAttributes.email".

However, I don't know how to do it with custom attribute such as "custom:category". I tried to get info with "const {?, email, name, ...} = await fetchUserAttributes();" but, once again, I don't know what to put for category.

I didn't find any information about that in the doc or on any forums.

Thanks in advance !

已提问 2 个月前435 查看次数
1 回答
1
已接受的回答

You can't directly destructure it like you do with built-in attributes because of the colon in its name. Instead, access it using bracket notation. Here’s how you can do it:

const userAttributes = await fetchUserAttributes();
const category = userAttributes["custom:category"];
profile picture
专家
已回答 2 个月前
  • I did it using : "const { tokens, credentials, identityId, userSub } = await fetchAuthSession(); const { idToken, accessToken } = tokens; idToken.payload['custom:category']" but I prefer your way. Thank you !

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则