Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🧐[问题 | question]umi4版本在配置base和publicPath后,history.location和useLocation()返回的pathname不同 #9968

Closed
zhangheng0317 opened this issue Jun 30, 2022 · 5 comments

Comments

@zhangheng0317
Copy link

🧐 问题描述 | Problem description

umi4版本
在config中配置了base和publicPath
image
分别使用history.location和useLocation()获取patnname
history.location返回的是 /xmPortal/user/login (带了base)
useLocation()返回的是 /user/login
请问这是正常的吗?因为在app.tsx里有一些token校验并重定向的逻辑,而且这里是没法调用hooks,只能走history,这就导致重定向的路径里重复了一个base,跳转错误了
image

💻 示例代码 | Sample code

image
image

OS: Windows

Node:16+

浏览器 | browser:EDGE

@github-actions
Copy link

以下的 Issues 可能会帮助到你 / The following issues may help you

@chenshuai2144
Copy link
Collaborator

base 会增加最前面,不用你手动设置的。建议以 react router 为准

@zhangheng0317
Copy link
Author

base 会增加最前面,不用你手动设置的。建议以 react router 为准
没太明白,我的项目不是部署在根目录的,不是得设置base吗?如果不设置base部署路径就不对了啊

@chenshuai2144
Copy link
Collaborator

对的 但是在react router中他不会把base 拼到pathname上去 和浏览器自带的就不一样了

@lecd
Copy link

lecd commented Sep 29, 2022

请问:在运行时不能用hooks,如何取到到真实的地址,而在history.location 是有加上base这样一级的?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants