我是React Redux路由器的新手,在成功登录后如何将用户转发到所请求的PrivateRoute上,我一直在绞尽脑汁。
react cognito启动cognito\u LOGIN
操作,并在成功登录时在存储中设置cognito.state=“LOGGED\u IN”
。我知道react路由器将请求的路由存储在location.state.from.pathname
中,我知道要重定向浏览器路由器,我可以使用history.replace()
。
我只是不知道我的代码去了哪里,所以它在react-cognito-onSubmit登录函数异步完成后执行,因为这个包没有提供回调。
在我的登录表单组件我尝试
componentWillReceiveProps(nextProps) {
if (nextProps.cognito.state === 'LOGGED_IN') {
// logged in, let's show redirect if any, or show home
try {
const { from } = this.props.location.state || {
from: { pathname: "/" }
};
nextProps.history.replace(from);
} catch (err) {
nextProps.history.replace("/");
}
}
}
……但执行得太早了。我不认为这样的东西应该放在减速机里,因为它们似乎只是为了直接操纵商店,但我可能离那里很远。
是否有一些功能在react-router-redux包,可能会提供一些有用的东西在这里?
我没有回调就卡住了吗?难道就没有办法守望cognito.state?
欢迎建议。
TIA
您可以在操作中使用推送
方法来调度一个将您的应用重定向到所需位置/路线的操作。
action.js
import {push} from 'react-router-redux';
/*** write your API here and after success redirect your route ***/
.then(() => {
dispatch(push(args.redirectRoute))
})
确保已使用Redux配置React路由器。
使用react-router-v4
的标准方法是渲染一个
就你而言:
render() {
if (this.props.cognito.state === 'LOGGED_IN') {
return (<Redirect to="/" />)
}
//...
}
默认情况下,这将替换当前位置。
有关更多信息,请参见此示例。
我在使用React路由器进行登录后重定向时遇到问题。 假设用户试图导航到但被重定向到因为他们的会话已过期。endpoint存在于PrivateRoute中。 登录后,我希望用户被引导到,但相反,他们目前只重定向到。 成功登录后,如何利用原始目的地进行重定向? 谢谢你的时间!
我有一个Spring BootUI应用程序。我试图在登录后将用户重定向到最初请求的URL。 当用户请求http://www.example.com/myapp/user/22时,应用程序会适当地重定向到http://www.example.com/myapp/login.一旦用户登录,应用程序会重定向到http://www.example.com/myapp/dashboard.我希望应用程序重定
在我的Laravel应用程序中,我有一个只能由Auth用户访问的私人页面。我也使用社交登录,所以当用户未登录就进入私人页面时,Laravel会将用户发送到登录页面,成功登录后,用户会被发送回原始目的地(私人页面)。只有当用户通过Laravel内置认证系统登录时,但当用户通过社交登录方法登录时,用户将被引导到主页。 这是我登录后的社交登录处理程序: 如果用户在会话中出现,我如何将其发送到原始目的地,
我现在一直在努力使用我的登录页面来让组件呈现Loggedin组件。我的前端是Reactjs,后端是NodeJS。我对nodejs、expression和react都是新手。 在loginform组件上,我使用fetch进行了一次post,它将用户名和密码传递给后端的相应endpoint。没问题。在后端,它读取我存储用户(不使用任何数据库)的jsonfile来查找匹配项,如果用户名和密码都匹配,则它
问题内容: 我试图制作一个过滤器来阻止未登录的用户访问某些页面。为此,我使用以下方法制作了一个过滤器类 为了允许不需要用户登录的页面,我在init()中创建了一个arraylist url-list。 现在发生了一件非常奇怪的愚蠢的事情。假设我有两个页面home.jsp和dcr.jsp。当我尝试不登录而访问home.jsp时,我已成功重定向至login.jsp,但是当我尝试访问dcr.jsp时,尽