全局安装 create-react-app

npm install create-react-app -g

创建项目

在全局安装了create-react-app 后 创建项目,如果按照下面的第一种办法创建不成功,可以使用第二种办法

create-react-app react01
// 或者
npx create-react-app react01

使用路由

  • 下载路由模块
npm i react-router-dom -s

为实现路由懒加载 安装 react-loadable

npm i react-loadable -s

  • 创建页面

    src 目录下创建 pages文件,测试文件目录如下

pages => index.js代码

import Loadable from 'react-loadable';
import { ActivityIndicator } from 'antd-mobile'; const Home = Loadable({
loader: () => import('./home'),
loading: ActivityIndicator
}); const Cate = Loadable({
loader: () => import('./cate'),
loading: ActivityIndicator
}); export {
Home,
Cate
}
  • src 目录下创建创建routes.js
import {
Home,
Cate
} from './pages' const routes = [
{
url: '/home',
component: Home,
text: '首页',
isToggleFooter:true,
isShowHeaderAndFooter: true
},
{
url: '/cate',
component: Cate,
text: '分类',
isToggleFooter:true,
isShowHeaderAndFooter:true
}
] export default routes
  • 在 app.js引入router模块和routes.js文件
import React, { Component, Fragment } from 'react';
import {
Route,
Redirect,
Switch
} from 'react-router-dom' import routes from './routes' class App extends Component {
render() { return (
<Fragment>
<header>Header</header>
<Switch>
{
routes.map(route => {
return (
<Route
key={route.url}
path={route.url}
component={route.component} />
)
})
}
<Redirect exact from="/" to={routes[0].url} />
{/* 这里用 redirect 进行 首页自动跳转到 /home 路由下
exact 意味着精确匹配 当为 / 时才跳转 /home 不是包含 / 就跳转到 /home
*/}
{/* <Redirect to = '/all'/> */}
{/* 如果找不到页面 则去 4040页面 */}
</Switch>
<footer>尾部</footer>
</Fragment>
);
}
} export default App;
  • 在 src 最外层 index.js使用 router模块
import React from 'react';
import ReactDOM from 'react-dom';
import {
BrowserRouter as Router,
Route
} from 'react-router-dom';
import './index.scss';
import App from './App';
import * as serviceWorker from './serviceWorker'; ReactDOM.render(
<Router>
<Route component = {App} />
</Router>
,
document.getElementById('root'))

路由间跳转

以home 页面为例

import React, { Component, Fragment } from 'react';
import { Link } from 'react-router-dom'
export default class Home extends Component {
render() {
return (
<Fragment>
<div>我是Home页</div>
<button> <Link to="/cate">跳转到 cate 页</Link> </button>
</Fragment>
)
}
}

最新文章

  1. 如何在虚拟机里安装Linux
  2. 字节流与字符流(FileInputStream类和FileOutputStream类)
  3. 译:泛型List集合转化为DateTable的扩展方法
  4. 【C51】单片机芯片之——图解74HC595
  5. 关于websocket中的心跳..
  6. 『重构--改善既有代码的设计』读书笔记----Replace Array with Object
  7. [转]机器学习——C4.5 决策树算法学习
  8. QML设计登陆界面
  9. 解决项目打包过程检出项目出现 svn:e15500错误
  10. UWP开发技巧:实现SMB协议操作文件服务器文件
  11. sass进阶—mixin的使用(浏览器兼容性调整)
  12. @Component注解的解析
  13. Java 获取窗口的宽、高
  14. #define 多行多语句
  15. 【Linux】使用w命令和uptime命令查看系统负载
  16. canvas移动端常用技巧图片loading
  17. WPF基础学习笔记整理 (八) 命令
  18. spring boot(11)-druid监控
  19. lua小试牛刀
  20. JavaScript------Throw和Try-Catch的使用

热门文章

  1. 90%的人都不知道的Node.js 依赖关系管理(下)
  2. Linux - fuser 命令
  3. node.js学习(6)创建和删除目录
  4. CodeGen API分析
  5. TVM部署和集成Deploy and Integration
  6. AJAX第二天笔记
  7. 菜鸟刷题路:剑指 Offer 06. 从尾到头打印链表
  8. Task00:绪论 - 环境搭建
  9. 【NX二次开发】基准特征
  10. 数据库创建好之后如何创建scott用户