【发布时间】:2021-12-13 01:13:32
【问题描述】:
反应有点新,我正在尝试制作一个简单的线性页面流。在登录组件中单击链接时,我希望它转到选择页面而不显示上一页。在当前状态下,该链接只是添加了“选择”页面而不刷新任何内容。
应用代码:
import Login from "./pages/Login";
import Select from "./pages/Select";
import { createBrowserHistory } from 'history'
//import React from "react";
import {
BrowserRouter as Router,
Switch,
Route,
Link
} from "react-router-dom";
const history = createBrowserHistory()
function App() {
return (
<div className="fnb">
<Router>
<Switch>
<Route exact path="/" component={Login} />
<Route exact path="/select" component={Select} />
</Switch>
</Router>
</div>
);
}
export default App;
登录代码:
import React from "react";
import {
BrowserRouter as Router,
Switch,
Route,
Link
} from "react-router-dom";
import Select from "./Select";
function Login() {
return (
<div>
<p>
this is the login
</p>
<Router>
<Link to="/select" {window.location.reload();}>
go to select page
</Link>
<Switch>
<Route exact path="/select" component={Select}/>
</Switch>
</Router>
</div>
);
}
export default Login;
选择代码:
import React from "react";
function Select() {
return (
<div>
<header>
<p>
this is the select
</p>
</header>
</div>
);
}
export default Select;
【问题讨论】:
-
useHistory()来自 react-router 如果您想使用 javascript 处理将很有帮助。let h = useHistory(); h.push("/select")。这会将您发送到选择页面。或者,如果您只想刷新页面,请尝试使用 react 中的useState。请参阅官方文档以更好地理解。 -
嗨。我不确定,但我猜你必须只在
App.js中定义一次Router和Switch。然后你只需要使用Link或NavLink和关于刷新:这不是 React 的全部意义吗?
标签: javascript html reactjs react-native react-router