react的路由配置

1.安装依赖

npm install react-router-dom --save-dev

2.src/router/index.js

/*
   Root, Router 配置
*/
import React from 'react';
import { Route, Switch, Redirect } from 'react-router-dom';
 
import App from '@/App';
 //开发新建的页面
import Home from '@/pages/home/home';
import Infor from '@/pages/infor/inforIndex';
 
const Root = () => (
   <div>
      <Switch>
         <Route
            path="/"
            render={props => (
               <App>
                  <Switch>
                     //可优化为动态渲染路由
                     <Route path="/" exact component={(props)=><Home {...props}/>} />
                     <Route path="/infor" component={(props)=><Infor {...props}/>}/>
                     <Route render={() => <Redirect to="/" />} />
                  </Switch>
               </App>
            )}
         />
      </Switch>
   </div>
);
 
export default Root;

3.src/App.js

import React, { Component } from 'react';
 
class App extends Component {
    render() {
        return <div>{this.props.children}</div>;
    }
}
export default App;

4.src/index.js

import React from 'react';
import ReactDOM from 'react-dom';
import {BrowserRouter} from 'react-router-dom';
//引入路由文件
import Root from '@/routes/index';
import reportWebVitals from '@/reportWebVitals';

ReactDOM.render(
  <BrowserRouter>
    <Root/>//替换原来的<App/>
  </BrowserRouter>,
  document.getElementById('root')
);

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值