Я хотел бы прочитать информацию о пользователе и установить переменную «Admin» в значение yes, если его пользовательские атрибуты равны 1. Проблема в том, что когда я хочу прочитать пользовательские атрибуты, программа вылетает с помощью TypeError: Невозможно прочитать свойство 'attribute'из неопределенного "
Это мой код:
import React, { useState, useEffect } from "react";
import './App.css';
import { Link, withRouter } from "react-router-dom";
import { Nav, Navbar, NavItem, Image } from "react-bootstrap";
import { LinkContainer } from "react-router-bootstrap";
import Routes from "./Routes";
import { Auth } from "aws-amplify";
import logo from './img/download.svg';
function App(props) {
const [isAuthenticating, setIsAuthenticating] = useState(true);
const [isAuthenticated, userHasAuthenticated] = useState(false);
const [userData, setUserData] = useState([]);
const [isAdmin, setIsAdmin] = useState(true);
useEffect(() => {
onLoad();
}, [],);
async function handleLogout() {
await Auth.signOut();
userHasAuthenticated(false);
setIsAdmin(false);
props.history.push("/login");
}
async function onLoad() {
try {
await Auth.currentSession();
userHasAuthenticated(true);
await Auth.currentUserInfo().then(user => setUserData(user));
if (userData.attributes['custom:isAdmin'] === "1" ) {
setIsAdmin(true)
}
}
catch(e) {
if (e !== 'No current user') {
alert(e);
}
}
setIsAuthenticating(false);
}
return (...)