登录页面与ReactJS中的单页应用程序(SPA)分开
我正在ReactJS中开发一个单页面应用程序(SPA),我想知道如何在单独的页面中使用Login页面.
我使用create-react-app作为我的应用程序的基础,我目前在App.js文件中为我的SPA定义模板,并在不同的.js文件中定义每个组件:Page1.js,Page2.js,我正在使用react-router-dom(V ^ 4.2.2)来路由我的应用程序. 我的App.js文件: //node_modules (using ES6 modules) import React,{ Component } from 'react'; import { BrowserRouter as Router,Route } from 'react-router-dom'; //others import { Home } from './pages/Home.js'; import { Page1 } from './pages/Page1.js'; import { Page2 } from './pages/Page2.js'; //App variables const { Content,Footer,Sider } = Layout; class App extends Component { render() { return ( <Router> <Layout> <Sider> //some code </Sider> <Layout> <Header> //some code </Header> <Content> <Route exact path="/" component={Home}/> <Route path="/page1" component={Page1}/> <Route path="/page2" component={Page2}/> </Content> <Footer> //some code </Footer> </Layout> </Layout> </Router> ); } } export default App; 解决方法
在跳转到您的密码之前,请注意,
react-react-dom中的Route(又名路由器v4及更高版本)只是一个Component,它可以是StatelessComponent或ComponentClass来呈现视图.你可以在这里参考, 在你的问题中,
如果你想要在没有布局的情况下渲染“登录”视图,那么你可能想要这样做, 在App.js中 import Main from './Main'; // Your original <App /> page import Login from './Login'; // Your new <Login /> page // In your App component <Router> <Switch> <Route exact path="/" component={Main} /> <Route path="/login" component={Login} /> </Switch> </Router> // Export your App component 我想在这里提几点, >我添加< Switch>包含一个或多个< Route />因为它将确保您的应用程序仅从Route渲染一个视图(记住< Route />只是基于您的匹配路径使用url呈现视图的组件).因此,您可能希望包装< PageABC />与< Switch />否则它将在后台渲染所有视图. 我希望它有所帮助.如果有什么东西不能包裹你,请告诉我. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |