react-router之Redirect
此文章有部分内容借鉴:https://www.jianshu.com/p/97e4af32811a,感谢~
Redirect
渲染<Redirect>将导航到新位置。新位置将覆盖历史堆栈中的当前位置,就像服务器端重定向(HTTP 3xx)一样。
import React from "react";
import ReactDOM from "react-dom";
import {
BrowserRouter as Router, Route, Redirect, Switch } from 'react-router-dom'
let loggedIn = false;
ReactDOM.render(
<Router>
<Switch>
<Route exact path="/">
{
loggedIn ? <Redirect to="/dashboard" /> : <PublicHomePage />}
</Route>
</Switch>
</Router>,
document.getElementById('root')
)
function PublicHomePage() {
return <div>PublicHomePage</div>
}
在书写此代码的时候遇见这样一个问题:开始引入的时候是这样写的 import { Router, Route, Redirect, Switch } from ‘react-router-dom’;但是运行代码时报错:The prop history
is marked as required in Router
, but its value is `undefine. in Router;
解决办法1:
引入方法改为:import { BrowserRouter as Router, Route, Redirect, Switch } from ‘react-router-dom’
解决办法2:
import React from "react";