[英]React-routing -> routing renders on same page even after "exact" field
我想在登录页面中单击时呈现注册页面。 我在路由方面遇到了一些问题。 注册页面呈现在同一页面上。 我只在登录页面(“/signup”)上创建了一个路由。 我的目标是仅呈现一个仅包含注册详细信息的新页面。 我认为通过添加精确它会解决它。
import React from 'react'; import './Login.css'; import {Route, Link, BrowserRouter as Router} from 'react-router-dom' import Signup from "./Signup"; import Home from "./Home"; function Login() { return ( <div class="login-page"> <h2 id="projectName" class="text-center"> login. </h2> <div class="form"> <form class="login-form"> <input type="text" placeholder="Username"/> <input type="password" placeholder="Password"/> <button>login</button> <Router> <p class="message">New user -> <Link to="/signup">Sign up</Link> </p> <Route path="/signup" exact={true} component={Signup} /> </Router> <p class = "message"> <a href="#">Forgot Password</a> or <a href="#">Forgot Username</a> </p> </form> </div> <div class="container"> <div class="row"> <div class="col-lg-12"> <h1 class="tagline text-center"></h1> </div> </div> </div> </div> ); } export default Login;
import React from 'react'; import './Login.css'; function Signup() { return ( <div class="login-page"> <h2 id="projectName" class="text-center"> signup.</h2> <div class="form"> <form class="login-form"> <input type="text" placeholder="First name"/> <input type="text" placeholder="Last name"/> <input type="email" placeholder="Email"/> <input type="text" placeholder="Username"/> <input type="password" placeholder="Password"/> <button>Sign up</button> <p class="message">Already have an account -> <a href="">Login</a></p> </form> </div> <div class="container"> <div class="row"> <div class="col-lg-12"> <h1 class="tagline text-center"></h1> </div> </div> </div> </div> ); } export default Signup;
<Route path="/" exact component={login} />
在 app.js 文件中
希望这能解决你的问题
在 login.js 组件中试试这个
import React from 'react';
import {Link} from 'react-router-dom'
function Login() {
return (
<div class="login-page">
<h2 id="projectName" class="text-center"> login. </h2>
<div class="form">
<form class="login-form">
<input type="text" placeholder="Username"/>
<input type="password" placeholder="Password"/>
<button>login</button>
<p class="message">New user ->
<Link to="/signup">Sign up</Link>
</p>
<p class = "message"> <a href="#">Forgot Password</a> or <a href="#">Forgot Username</a> </p>
</form>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<h1 class="tagline text-center"></h1>
</div>
</div>
</div>
</div>
);
}
export default Login;
在注册.js
import React from 'react';
function Signup() {
return (
<div class="login-page">
<h2 id="projectName" class="text-center"> signup.</h2>
<div class="form">
<form class="login-form">
<input type="text" placeholder="First name"/>
<input type="text" placeholder="Last name"/>
<input type="email" placeholder="Email"/>
<input type="text" placeholder="Username"/>
<input type="password" placeholder="Password"/>
<button>Sign up</button>
<p class="message">Already have an account -> <a href="">Login</a></p>
</form>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<h1 class="tagline text-center"></h1>
</div>
</div>
</div>
</div>
);
}
export default Signup;
创建路由组件以重定向到其他组件
import React from 'react';
import {Route, Switch} from 'react-router-dom';
import Signup from './Signup'
const Routes = () => {
return(
<Switch>
<Route path="/signup" exact={true} component={Signup} />
</Switch>
)
}
export default Routes;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.