react react-router-dom的使用

继续之前的react。最近把之前的几篇关于react的博客整理了一下,也整了一个小Demo。
关于react-router-dom,大家可以先去看看它的github。这里不做介绍。只说说新建项目怎么使用。

新建项目

《create-react-app 快速构建react项目》。可以先去看看之前的文章。

安装react-router-dom

npm install --save react-router-dom

这个过程需要一点时间,感觉和网络相关度比较大。

新建router.js文件

在新建这个之前先看看项目的目录结构:
在这里插入图片描述
这个目录结构其实和之前的vue项目结构基本一致。大家可以去看看之前我的vue系列文章
router.js文件内容:

import React, { lazy,Suspense } from 'react';
import { Route,HashRouter , Switch } from 'react-router-dom';
import { Layout } from 'antd';
// import Slide from './components/common/Slide';
// import Header from './components/common/Header';
import '../src/components/assets/css/index.less'
const {Header, Footer, Sider, Content} = Layout;

// 路由表

const Home = lazy(() => import('./components/pages/home')); // 首页
const Detail = lazy(() => import('./components/pages/detail')); // 详情


const MyRoute = (props) => {
    return (
        <Layout>
            <Sider>Sider</Sider>
            <Layout>
                <Header>Header</Header>
                <Content>
                    <HashRouter > // 大家只需关注这里即可,由于我使用了ant 外面的结构代码可以暂时忽略
                        <Suspense fallback={<div>Loading...</div>} maxDuration={1000}>
                            <Switch>
                                <Route exact path="/" component={Home}/>
                                <Route exact path="/home" component={Home}/>
                                <Route exact path="/detail" component={Detail}/>
                            </Switch>
                        </Suspense>
                    </HashRouter >
                </Content>
                <Footer>Footer</Footer>
            </Layout>
        </Layout>
    )
}
export default MyRoute;

路由使用了懒加载,hash模式。

使用router.js文件

app.js文件中使用:

import React, { Component } from 'react';
import { BrowserRouter as Router} from 'react-router-dom';
import MyRoute from './router.js';
import './App.css';
import './index.less';

class App extends Component {
  render() {
    return (
      <Router>
        <MyRoute />
      </Router>
    );
  }
}
export default App;

只需要包裹一下就可以了。
至此在react项目中的基本使用react-router-dom算是结束了。剩下的一些高级的可以根据需要看文档了。

代码码云地址

地址:https://gitee.com/hgdq/myblog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值