首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React-routing -> routing即使在"exact“字段之后也会呈现在同一页面上

React-routing -> routing即使在"exact“字段之后也会呈现在同一页面上
EN

Stack Overflow用户
提问于 2020-03-05 14:51:20
回答 2查看 34关注 0票数 0

我想要呈现的注册页面时,它在登录页面上点击。我在路由方面遇到了一些问题。注册页面呈现在同一页面上。我只在登录页面上创建了一条路由("/signup")。我的目标是只渲染一个新页面的注册细节。我想通过添加exact就能解决这个问题。

代码语言:javascript
复制
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;

代码语言:javascript
复制
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;

image of how the page looks with the login, and signup -> I have only set one route

EN

回答 2

Stack Overflow用户

发布于 2020-03-05 15:07:26

通过以下方式呈现登录组件

代码语言:javascript
复制
<Route path="/" exact component={login} />

在app.js文件中

希望这能解决你的问题

票数 0
EN

Stack Overflow用户

发布于 2020-03-05 18:26:11

在login.js组件中尝试此操作

代码语言:javascript
复制
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;

signup.js中的

代码语言:javascript
复制
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;

创建路由组件以重定向到其他组件

代码语言:javascript
复制
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;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60539668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档