javascript - 如果未通过身份验证,则从子路由重定向以对父路由做出反应
问题描述
如果用户未通过身份验证,我正在尝试将用户重定向到根 url:
import React from 'react';
import { Route, IndexRoute } from 'react-router';
import App from './components/App';
import LoginPage from './components/login/LoginPage';
import DashboardPage from './components/dashboard/DashboardPage';
import { Redirect } from 'react-router-dom';
export default (
<Route path='/' component={App}>
<IndexRoute component={LoginPage} />
<Route
path='/dashboard'
render={props => (
isAuthenticated() ?
<DashboardPage {...props} /> :
<Redirect to='/' />
)}
/>
</Route>
);
我理解为什么这个例子不起作用 - 应用程序组件期待嵌套组件的“子”道具,但这是渲染它们;我不明白的是,如果isAuthenticated
在尝试导航到时返回 false,如何实现重定向/dashboard
- 使用component={...}
不起作用。
解决方案
推荐阅读
- c# - 对象引用未设置为 con.Open() 上的对象实例;
- reactjs - 如何解决 React+Material UI 中的这个错误
- amazon-web-services - Kubectl 不适用于 AWS EC2 实例
- javascript - 如何在 Angular 中使用 Promise 并摆脱使用超时
- javafx - FileChooser 打开时无法阻止对话框
- ios - 帐户自动从 Xcode 中删除
- java - 谷歌发布-订阅 setMaxMessages
- c# - Unity:停止角色上山(最后位置和当前位置之间的角度?!)
- scala - 如何在scala中访问spark数据框的列索引以进行计算
- mysql - SUBQUERY 和 INNER JOIN - MySQL 和 SQL 之间的区别