《API开放平台》登录页面需要点两次登录才能进入的问题

问题描述:登录时第一次登录成功后无法正常跳转,需要再次进行登录或者手动跳转到指定页面。


我是这样解决的,希望对遇到有相同问题的伙伴们一点帮助。



const fetchUserInfo = (userInfo: API.UserVO) => {
if (userInfo) {
flushSync(() => {
//设置用户登录信息到全局对象中去
setInitialState({loginUser: userInfo});
});
}
};


(PS:没有修改代码时,如下,在handleSubmit函数中,try里面,最后return之前打印initialState 为undefined,前面setInitialState已经设置到全局对象中去了,有大佬可以帮忙解释一下嘛?)

try {
// 登录
const res = await userLoginUsingPOST({...values,});
if (res.data) {
const defaultLoginSuccessMessage = intl.formatMessage({
id: 'pages.login.success',
defaultMessage: '登录成功!',
});
//设置用户登录信息到全局对象中去
setInitialState({loginUser: res.data});
//fetchUserInfo(res.data);
const urlParams = new URL(window.location.href).searchParams;
history.push(urlParams.get("redirect") || '/'); //路由跳转
message.success(defaultLoginSuccessMessage);
console.log(initialState) //输出:undefined
return;
}


第一次写遇到的问题,有不足的地方,还请大佬们多多指导。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
YukeSeko
作者分享
我已通关码神挑战,一起来玩呀~https://1024.codefather.cn/
1
美团社招一面-两年Java-面经
5
#经验# #求职# #资源# #学习总结# 哈喽大家好,我是YukeSeko,距离我上次分享已经是3个月之前了,三个月本来计划再做个项目的,奈何出差了三个月,基本上每天都加班到八九点,实在没时间再做新的项目,中途老项目又挂了好多次,都是上班时间偷偷弄的。 三个月出差总结: 三个月里让我体会到了什么是真正的全干工程师,从数据库设计到代码生成再到后端开发,从Vue2到Vue3,从项目打包到流水线发布再到项目上线,一个项目的整个流程基本上都跑了一遍(可能是因为太缺人、项目又多的缘故哈哈哈),最后出差快结束的时候,用了接近一周的时间写了一个比较复杂的算法。在这三个月里,我明白了一个道理,不是你用到的技术有多么高大上才牛,而是你能够通过你的思维和逻辑将某一个功能通过一定的技术方法实现出来才厉害。让我收获最多的就是,这里的代码为什么要这样写,这样写的好处是什么,这里写的逻辑又是什么,这对思维有一定的锻炼。 后续计划: 三个月的时间,鱼皮大大又带领大家做了好几个项目了,今天还要再开一个新的项目,刚刚结束出差的我必须充分利用好时间,继续学习新的项目,不断提升自己。这三个月里,我的各个方向的开发能力都有一定的提高,但是还是不够精,后续还需要在后端上继续专研,前端能写就行。 今天先分享一波这一两周学的MySql进阶相关的知识,全文1.3w个字左右,视频是看的黑马的MySql进阶篇和运维篇,笔记是跟着自己的理解做的,希望对球友们有一定的帮助。同时,后续也会不断分享自己的总结、感悟、项目等。
31
【星球项目】API 开放平台项目拓展
131
#自我介绍# 大家好,我是YukeSeko,我是22届本科毕业,方向是Java,目前在一家国企工作半年,做的基本上都是CRUD。我的知识体系还不够完善,技术还有好多都不会,加入星球希望跟着大家一起进步、一起学习技术,争取早日升职加薪[嘿哈]。
13
下载 APP