1. 新建文件routes.js,分别定义页面的路由信息和其他信息

const Routes = {
: {
title: "home",
pageName: "home",
path: "/home"
},
   101: {
     title: "page1",
     pageName: "page1",
     path: "/page1"
   },
: {
title: "page2",
pageName: "page2",
path: "/page2"
},
: {
title: "page3",
pageName: "page3",
path: "page3"
}
}; export default Routes;

2. 新建文件RouteHOC.js

import React from 'react';

const RouteFac = (Route) => {
return class HOCRoute extends React.Component {
render() {
return <Route {...this.props} />;
}
};
}; export default RouteFac;

3. 新建文件utils/history.js

import { createBrowserHistory as createHistory } from 'history';

export default createHistory();

4. 修改入口文件index.js

import React from 'react';
import ReactDom from 'react-dom';
import history from 'utils/history';
import App from './App'; ReactDom.render(
<App history={history} />,
document.getElementById('app'),
);

其中App.js中配置页面路径

const HOCRoute = RouterFac(Route);

const App = ({ history }) => (
<Router history={history}>
<Switch>
<Route path="/" exact component={Home} />
<HOCRoute {...routes[]} exact component={page1} />
<HOCRoute {...routes[]} exact component={page2} />
       <HOCRoute {...routes[103]} exact component={page3} />
</Switch> </Router> ); App.propTypes = { history: PropTypes.shape({}).isRequired }; export default App;

5. 按照配置的路径新建页面

文件目录如下:

-pages

  --page1

    --index.js

    --index.less

  --page2

    --index.js

    --index.less

  --page3

    --index.js

    --index.less

./pages/page1/index.js内容为:

import React, { PureComponent } from 'react';

class Page1 extends PureComponent {
render() {
return <div>hello,I am page1</div>;
  }
}
export default Page1;

6. 验证

在浏览器打开url: http://localhost:8080/page1

react学习(7)——路由配置的更多相关文章

  1. react中的路由配置踩坑记

    react 路由配置中,如果根路由(/)匹配一个组件,另一个路由(/list)在进行匹配的时候也会匹配到根路由(/),即在 /list 页面展示的时候 / 页面总是展示在上方. 此时如果想进行严格匹配 ...

  2. react ant design路由配置

    最初的时候,只使用了antd中的menu,header和footer都是自己写的组件,在写路由时,总是报如下错误: 相关的路由配置如下: 在网上查的说是组件未暴露出去或者是return 这一行必须有个 ...

  3. AntDesign(React)学习-5 路由及使用Layout布局

    前言:学习目标实现点击登录按钮,直接进入后台布局页面,类似下面antd官网文档展示效果 ant.design访问 https://ant-design.gitee.io/components/menu ...

  4. Angular5学习笔记 路由配置

    因为angular-cli脚手架的关系,所以配置路由可以通过命令行来创建路由文件 原本创建一个angular项目的命令是ng new 项目名,就可以了,但这样创建出来的项目是没有路由文件的. 如果需要 ...

  5. AntDesign(React)学习-1 创建环境

    目录: AntDesign(React)学习-15 组件定义.connect.interface AntDesign(React)学习-14 使用UMI提供的antd模板 AntDesign(Reac ...

  6. Django学习之路由分发和反向解析

    原 Django学习之路由分发和反向解析 2018年07月12日 14:04:55 huangql517 阅读数 519 1>路由分发 我们之前学习的路由配置都是在项目的全局控制文件(项目名称目 ...

  7. CCNA网络工程师学习进程(7)路由器的路由配置

        前面一节已经介绍了路由器的端口配置,接着我们介绍路由器的路由配置:静态路由.默认路由和浮动路由的配置:动态路由协议的配置,包括RIP.IGRP.EIGRP和OSPF.     (1)路由器的基 ...

  8. 使用create-react-app 快速构建 React 开发环境以及react-router 4.x路由配置

    create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境. create-react-app 自动创建的项目是基于 Webpack + E ...

  9. React路由配置

    React路由简单配置 //入口文件index.js import React from 'react'; import ReactDom from 'react-dom'; import { Rou ...

  10. webpack 配置react脚手架(四):路由配置

    1. 由于 react-router 是集成了 react-router-dom 和 react-router-native的一起的,所以这里要使用的是 react-router-dom, 2. 安装 ...

随机推荐

  1. ModSecurity防御暴力破解

    http://www.modsecurity.org/ ModSecurity防御暴力破解 在阅读本文前,先简单了解下什么是ModSecurity,ModSecurity是一个入侵探测与阻止的引擎.它 ...

  2. mac系统创建.开头文件.htaccess

    thinkphp5 隐藏index.php的时候需要用的.htaccess文件,但是mac默认不让创建这种文件 感谢 https://blog.csdn.net/gyz413977349/articl ...

  3. fortran 函数的调用标准

    Fortran函数的调用标准在编译时使用iface声明.如iface:default.表示採用的是default标准. fortran的调用标准有 [1] default: Tells the com ...

  4. Android自己主动检測版本号及自己主动升级

    步骤: 1.检測当前版本号的信息AndroidManifest.xml-->manifest-->android:versionName. 2.从server获取版本号号(版本号号存在于x ...

  5. ijkplayer阅读笔记02-创建音视频读取,解码,播放线程

    本节主要介绍音视频读取和解码线程的创建及启动,代码流程例如以下: IjkMediaPlayer_prepareAsync{ ijkmp_prepare_async_l{ ijkmp_change_st ...

  6. Android JNI编程(七)——使用AndroidStudio编写第一个JNI程序

    版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 1.简单介绍一下NDK和JNI NDK:NDK是Native Develop ...

  7. ps如何制作gif(窗口->动画)(导出:存储为Web和设备所用格式)

    ps如何制作gif(窗口->动画)(导出:存储为Web和设备所用格式) 一.总结 1.点击窗口,选择动画 2.导出的时候:存储为Web和设备所用格式 二.ps如何制作gif 1.首先我们安装并打 ...

  8. mysqlsla安装

    #下载mysqlsla https://github.com/daniel-nichter/hackmysql.com   yum install perl-ExtUtils-CBuilder per ...

  9. [React] Normalize Events with Reacts Synthetic Event System

    Event handlers are passed an instance of SyntheticEvent in React. In this video we'll take a look at ...

  10. 【hdu 2176】取(m堆)石子游戏

    Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...