[英]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. 我认为另一件事(可能是错误的)是您不能同时使用
import
和require
。 So change 所以改变
const Signup = require('./Signup.js');
to 至
import Signup from './Signup';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.