浏览器呈现一个空页面
Browser rendering an empty Page
我正在使用 bootstrap 帮助我创建登录表单。但是当呈现这个登录组件时,我得到一个空的浏览器,但是当我呈现没有表单组和表单控件的其他组件时,我在浏览器中得到了内容。
import React from 'react'
import { Button} from 'react-bootstrap';
import { Form } from 'react-bootstrap';
import GoogleButton from 'react-google-button';
import { Link } from 'react-router-dom';
const SignIn = () => {
return (
<>
<div className="p-4 box">
<h2 className="mb-3">Bonnie Electronics</h2>
<Form>
<Form.Group className="mb-3" controlId="formBasicEmail">
<Form.Control type='email' placeholder="email address" />
</Form.Group>
<Form.Group className="mb-3" controlId="formBasicPassword">
<Form.Control type='password' placeholder="password" />
</Form.Group>
<div className="d-grid gap-2">
<Button type="submit" variant="primary">Login</Button>
</div>
</Form>
<hr />
<div>
<GoogleButton type="dark" className="g-button" />
</div>
</div>
<div className="p-4 box mt-3 text-center">
Don't Have an Account? <Link to='/signup'>SignUp</Link>`enter code here`
</div>
</>
)
}
export default SignIn;
您需要在 内部 路由上下文中呈现此组件登录,因为您正在使用 Link 来自反应 反应路由器-dom
您正在做类似的事情:
<SignIn /> // <-- This can't be outside router!
<Router>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/whatever" element={<YourComp/>} />
</Routes>
</Router>
您应该将它移到路由上下文中,以便路由器知道并可以正确管理路由。
<Router>
<SignIn/>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/whatever" element={<YourComp/>} />
</Routes>
</Router>
我创建了Demo:
https://codesandbox.io/s/sweet-morning-0pt00?file=/src/SignIn.js
您还可以在此处:
阅读更多参考资料
我正在使用 bootstrap 帮助我创建登录表单。但是当呈现这个登录组件时,我得到一个空的浏览器,但是当我呈现没有表单组和表单控件的其他组件时,我在浏览器中得到了内容。
import React from 'react'
import { Button} from 'react-bootstrap';
import { Form } from 'react-bootstrap';
import GoogleButton from 'react-google-button';
import { Link } from 'react-router-dom';
const SignIn = () => {
return (
<>
<div className="p-4 box">
<h2 className="mb-3">Bonnie Electronics</h2>
<Form>
<Form.Group className="mb-3" controlId="formBasicEmail">
<Form.Control type='email' placeholder="email address" />
</Form.Group>
<Form.Group className="mb-3" controlId="formBasicPassword">
<Form.Control type='password' placeholder="password" />
</Form.Group>
<div className="d-grid gap-2">
<Button type="submit" variant="primary">Login</Button>
</div>
</Form>
<hr />
<div>
<GoogleButton type="dark" className="g-button" />
</div>
</div>
<div className="p-4 box mt-3 text-center">
Don't Have an Account? <Link to='/signup'>SignUp</Link>`enter code here`
</div>
</>
)
}
export default SignIn;
您需要在 内部 路由上下文中呈现此组件登录,因为您正在使用 Link 来自反应 反应路由器-dom
您正在做类似的事情:
<SignIn /> // <-- This can't be outside router!
<Router>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/whatever" element={<YourComp/>} />
</Routes>
</Router>
您应该将它移到路由上下文中,以便路由器知道并可以正确管理路由。
<Router>
<SignIn/>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/whatever" element={<YourComp/>} />
</Routes>
</Router>
我创建了Demo:
https://codesandbox.io/s/sweet-morning-0pt00?file=/src/SignIn.js
您还可以在此处:
阅读更多参考资料