最佳答案
嗨,如果您正在使用反应路由器 v-6.0.0-beta 或 V6在这个版本重定向更改导航像这样
从“ response-router-dom”导入{ Navigate } ;//像 v6中的 CORRECT 一样 “路由”路径,我希望它去。然后在我的 App.js 中执行下面的操作(注意... ... 是其他代码,但是在这里做一个演示太多了) :
import React, { Component } from "react";
import { Route, Link } from "react-router-dom";
import { BrowserRouter as Router } from "react-router-dom";
import { Redirect } from 'react-router';
import Ansible from "./Development/Ansible";
import Code from "./Development/Code";
import Wood from "./WoodWorking";
import "./App.css";
class App extends Component {
render() {
const redirect = sessionStorage.getItem("redirect");
if(redirect) {
sessionStorage.removeItem("redirect");
}
return (
<Router>
{redirect ?<Redirect to={redirect}/> : ""}
<div className="App">
...
<Link to="/">
<li>Home</li>
</Link>
<Link to="/dev">
<li>Development</li>
</Link>
<Link to="/wood">
<li>Wood Working</li>
</Link>
...
<Route
path="/"
exact
render={(props) => (
<Home {...props} />
)}
/>
<Route
path="/dev"
render={(props) => (
<Code {...props} />
)}
/>
<Route
path="/wood"
render={(props) => (
<Wood {...props} />
)}
/>
<Route
path="/ansible/"
exact
render={(props) => (
<Ansible {...props} checked={this.state.checked} />
)}
/>
...
</Router>
);
}
}
export default App;
从“ response-router-dom”导入{ Redirect } ;//如 v5中的 CORRECT 所示
Import { Redirect } from‘ response-router-dom’;//就像 v6中的这个错误
实际使用: Chizl.com
//这将使您在反应路由器和反应路由器域的 V6中出现错误EDIT : 从 localStorage 更改为 sessionStorage。当您关闭选项卡或浏览器时,sessionStorage 将消失,并且无法被浏览器中的其他选项卡读取。