繁体   English   中英

React-routing -> 即使在“精确”字段之后,路由也会在同一页面上呈现

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM