React路由器需要auth而不是重定向
React Router requireAuth not redirecting
我有以下路由和要求auth实现。我有两个问题。
1)。当我没有登录时,我不会从/重定向到/login。
2)。当我尝试访问/并且我已经登录时,Home组件没有被渲染。
在任何用例中都没有控制台错误显示。我已经确认IsLoggedIn()在预期的时间返回预期的值。因此,我的requireAuth实现可能是这里的罪魁祸首。我做错了什么?
index.js
import { isLoggedIn } from './auth';
function requireAuth(nextState, replace, callback) {
if (!isLoggedIn()) {
replace('/login');
}
}
render(
<Provider store={store}>
<Router history={hashHistory}>
<Route path="/" component={Home} onEnter={requireAuth} />
<Route path="/login" component={Login} />
</Router>
</Provider>, document.getElementById('root')
);
auth.js
module.exports = {
isLoggedIn() {
return localStorage.token != undefined;
}
};
如果callback被列为第三个参数,这个钩子将异步运行,并且转换将阻塞直到callback被调用。在您的示例中,不需要回调,您可以安全地忽略它(因为isLoggedIn
是同步的)
相关文章:
- 通过javascript重定向html传递php变量
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 使用angular重定向到html页面
- 如何在chrome扩展中重定向到html页面
- 无法从jquery Mobile导航栏重定向到另一个页面
- ng视图外的链接重定向到ng视图内的页面
- 在phonegap应用程序内部重定向不起作用
- CORS-重定向到第二个GET正在接收的页面
- AJAX不会在文件上传后重定向到网页-POST方法
- 重定向时角度刷新浏览器
- 通过链接重定向不;我不在jstree中工作
- 根据select选项元素将表单重定向到不同的URL
- 通过JQuery重定向到另一个页面
- 重定向到“父窗口”
- 重定向iFrame中的父URL
- 当达到codeigniter/tank auth会话超时时,在ajax调用中处理php重定向
- 对auth.logout的Facebook事件订阅仅选择性地将用户重定向到url
- wget在使用重定向的auth表单后下载
- 登录后重定向+ $auth.setToken
- React路由器需要auth而不是重定向