简体   繁体   English

无法在React中呈现正确的HTML页面

[英]Trouble rendering correct html page in react

I have been trying to render the correct HTML page using react. 我一直在尝试使用react渲染正确的HTML页面。 However, for some reason when I click the navigation button link in my signin page, I do not get directed to the right page, it is the same html. 但是,由于某些原因,当我单击登录页面中的导航按钮链接时,我没有定向到正确的页面,因为它是相同的html。 I am using react-router-dom' but it still does not render my sign up page. 我正在使用react-router-dom',但它仍不呈现我的注册页面。

My code looks like 我的代码看起来像

App.js App.js

import React, { Component } from 'react';
import cupcake from './images/cupcake.png';
import './App.css';
import {BasicExample} from './route.js'
import { Link } from 'react-router-dom'
import {
  BrowserRouter as Router,
  Route
} from 'react-router-dom'

class App extends Component {
  render() {
    return (
      <div className="App">
         <div className = "loginBox">
      <div className = "glass">
        <img src= {cupcake} className = "user" />
        <h3>Sign in Here</h3>
        <form>
            <div className = "inputBox">
              <input type="text" name="" placeholder="Username" />
              <span><i className="fa fa-user" aria-hidden="true"></i></span>
            </div>
            <div className = "inputBox">
              <input type="password" name="" placeholder="Password" />
              <span><i className="fa fa-lock" aria-hidden="true"></i></span>
            </div>
              <input type="submit" name="" value="Login" />
        </form>

            <a href= "#">Forgot Passwordk?</a>
            <br />
            <Router>
               <Link to="/Signup">Signup??</Link>
            </Router>
      </div>
    </div>
      </div>
    );
  }
}

export default App;

Signup.js Signup.js

import React, { Component } from 'react';
import cupcake from './images/cupcake.png'
import './App.css';


export class Signup extends Component {
  render() {
    return (
      <div className="ignup">
         <div className = "loginBox">
      <div className = "glass">
        <img src= { cupcake} className = "user" />
        <h3>Signup Here!</h3>
        <form>
            <div className = "inputBox">
              <input type="text" name="" placeholder="Username" />
              <span><i className="fa fa-user" aria-hidden="true"></i></span>
            </div>
            <div className = "inputBox">
              <input type="password" name="" placeholder="Password" />
              <span><i className="fa fa-lock" aria-hidden="true"></i></span>
            </div>
              <input type="submit" name="" value="Login" />
        </form>
        <a href="#">Login!</a>

      </div>
    </div>
      </div>
    );
  }
}

export default Signup

route.js route.js

import React from 'react';

import { BrowserRouter as Router, Link, Route } from 'react-router-dom';
const Signup = require('./Signup.js');
const BasicExample = () => (
  <Router>
    <div>

      <Route path="/Signup" component={Signup}/>
    </div>
  </Router>
)


export default BasicExample

Thank you so much, any advice will be appreciated! 非常感谢您,任何建议将不胜感激!

One thing is that you use BrowserRouter here and there. 一件事是您在BrowserRouter使用BrowserRouter It should be top-level-component, meaning it should wrap your whole app and used only once. 它应该是顶级组件,这意味着它应该包装整个应用程序,并且只能使用一次。

So if your App component is the main component where everything starts then do: 因此,如果您的App组件是一切开始的主要组件,请执行以下操作:

class App extends Component {
  render() {
    return (
      <Router>
        <div className="App">
         ...
         ...
        </div>
      </Router>
    );
  }
}

And remove BrowserRouter from anywhere else. 并从其他任何地方删除BrowserRouter。

Another thing I believe (could be wrong) that you cannot use import and require together. 我认为另一件事(可能是错误的)是您不能同时使用importrequire So change 所以改变

const Signup = require('./Signup.js');

to

import Signup from './Signup';

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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