![](/img/trans.png)
[英]How do I re-route header menu items to a URL instead of internal file in React/Gatsby?
[英]How to re-route a React-Admin url
我正在尝试为我的 React-Admin 应用程序配置登录页面。 根据文档,我正在使用authProvider
和LoginPage
组件,并且我的登录过程通常正常工作。
我的应用程序在端口 3000 上本地运行。但是当我从 go 到 http://localhost:3000 时,我会自动重定向到 Z80791B3AE7002CB88C246876D9FAA8FZ://3000/#8FZ8。
具体是什么推动了这种重定向? 我没有在应用程序本身中指定.../#/login url。
我使用的是旧版本的 React-Admin (2.9),据我所知使用的是 Redux。 重定向到.../#/login 是 Redux 的 function 吗? 还是 React-Admin 本身?
我的理解是我可以使用 HashHistory 或 BrowserHistory 来防止 # - 但不确定这是否与 React-Admin 兼容。
我遇到的实际问题是,一旦我将应用程序部署到我的域,登录过程的行为与我在 localhost 上运行时的行为不同——这使得部署前测试变得困难。
即 http://localhost:3000 和 http://localhost:3000/#/login 都让我登录成功。 但是当我部署到我的域时, http://www.example.com允许我登录,而http://www.example.com/#/login不允许。
知道为什么会这样吗? 我可以将 React-Admin 应用程序配置为不重新路由到http://www.example.com/#/login吗?
https://marmelab.com/react-admin/AuthProviderWriting.html
“如果 promise 被拒绝,react-admin 默认重定向到 /login 页面。您可以通过使用 redirectTo 属性拒绝 object 来覆盖在 checkAuth() 中重定向用户的位置:”
// in src/authProvider.js
export default {
login: ({ username, password }) => { /* ... */ },
checkError: (error) => { /* ... */ },
checkAuth: () => localStorage.getItem('auth')
? Promise.resolve()
: Promise.reject({ redirectTo: '/no-access' }),
// ...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.