我正在使用Auth0注册用户。在登录后,Reaction应用程序会自动获取用户信息并将axios.post发送到后台。它将ID存储在UserID中,将信息存储在CurrUser中。但是,如果我注销并再次登录,整个函数将不会运行,因为数据已经存在于数据库中。
const [currUser, setCurrUser] = useState([]);
const [userId, setUserId] = useState("");
const { user } = useAuth0();
const getUserInfo = async () => {
const data = await axios.post(`http:localhost:8080`, {
name: user.nickname,
email: user.email,
});
setUserId(data.data[0].id);
const personalInfo = await axios.get(
`http:localhost:8080/${personalInfo.data[0].id}`
);
setCurrUser(personalInfo.data);
};
useEffect(() => {
getUserInfo();
}, []);
我对 axios 和承诺不太在行。我该如何处理这件事?
1条答案
按热度按时间8i9zcol21#
我没拿到什么功能不会运行?
如果您的getUserInfo()函数没有运行,这意味着您的组件没有被卸载并重新挂载,因此您需要添加一些依赖项并检查用户是否刚刚登录,然后获取有关他的数据。
如果这个答案对你没有帮助,请提供更多信息。这个POST请求是做什么的,是注册还是什么?