【发布时间】:2020-02-29 22:21:40
【问题描述】:
如果自定义属性等于 1,我想读取用户信息并将“Admin”变量设置为 yes。 问题是,当我想读取用户属性时,程序会因 TypeError 崩溃:无法读取未定义的属性“属性”
这是我的代码:
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 (...)
【问题讨论】:
标签: javascript reactjs amazon-web-services amazon-cognito