全局安装 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>
)
}
}

create-react-app 入门学习的更多相关文章

  1. 深入 Create React App 核心概念

    本文差点难产而死.因为总结的过程中,多次怀疑本文是对官方文档的直接翻译和简单诺列:同时官方文档很全面,全范围的介绍无疑加深了写作的心智负担.但在最终的梳理中,发现走出了一条与众不同的路,于是坚持分享出 ...

  2. 在 .NET Core 5 中集成 Create React app

    翻译自 Camilo Reyes 2021年2月22日的文章 <Integrate Create React app with .NET Core 5> [1] Camilo Reyes ...

  3. tap news:week5 0.0 create react app

    参考https://blog.csdn.net/qtfying/article/details/78665664 先创建文件夹 安装create react app 这个脚手架(facebook官方提 ...

  4. 使用create react app教程

    This project was bootstrapped with Create React App. Below you will find some information on how to ...

  5. 如何扩展 Create React App 的 Webpack 配置

    如何扩展 Create React App 的 Webpack 配置  原文地址https://zhaozhiming.github.io/blog/2018/01/08/create-react-a ...

  6. Create React App

    Facebook开源了React前端框架(MIT Licence),也同时提供了React脚手架 - create-react-app. create-react-app遵循约定优于配置(Coc)的原 ...

  7. Create React App 安装less 报错

    执行npm run eject 暴露模块 安装 npm i  less less-loader -D 1.打开 react app 的 webpack.config.js const sassRege ...

  8. [React] Use the Fragment Short Syntax in Create React App 2.0

    create-react-app version 2.0 added a lot of new features. One of the new features is upgrading to Ba ...

  9. [React] {svg, css module, sass} support in Create React App 2.0

    create-react-app version 2.0 added a lot of new features. One of the new features is added the svgr  ...

  10. create react app 项目部署在Spring(Tomcat)项目中

    网上看了许多,大多数都是nginx做成静态项目,但是这样局限性太多,与Web项目相比许多服务端想做的验证都很麻烦,于是开始了艰难的探索之路,终于在不经意间试出来了,一把辛酸... 正常的打包就不说了. ...

随机推荐

  1. [Distributed ML] Parameter Server & Ring All-Reduce

    Resource ParameterServer入门和理解[较为详细,涉及到另一个框架:ps-lite] 一文读懂「Parameter Server」的分布式机器学习训练原理 并行计算与机器学习[很有 ...

  2. TVM优化Deep Learning GPU算子

    TVM优化Deep Learning GPU算子 高效的深度学习算子是深度学习系统的核心.通常,这些算子很难优化,需要HPC专家付出巨大的努力. 端到端张量IR / DSL堆栈TVM使这一过程变得更加 ...

  3. XGBoost原理介绍

    XGBoost原理介绍 1. 什么是XGBoost XGBoost是一个开源机器学习项目,实现了GBDT算法,进行了算法和工程上的许多改进,广泛应用在Kaggle竞赛及许多机器学习竞赛中. 说到XGB ...

  4. awr快照保留时间修改

    ==============  awr快照保留时间修改 ============= 1.查询当前awr报告保留时间 col SNAP_INTERVAL for a20col RETENTION for ...

  5. 仅用CSS几步实现赛博朋克2077风格视觉效果

    背景 文章开始之前先简单了解下什么是 赛博朋克,以及什么是 赛博朋克2077. 赛博朋克(Cyberpunk)是"控制论.神经机械学"与"朋克"的结合词,背景大 ...

  6. 【Android漏洞复现】StrandHogg漏洞复现及原理分析_Android系统上的维京海盗

    文章作者MG1937 CNBLOG博客:ALDYS4 QQ:3496925334 0x00 StrandHogg漏洞详情 StrandHogg漏洞 CVE编号:暂无 [漏洞危害] 近日,Android ...

  7. 俄罗斯方块(c++)

    这个俄罗斯方块是用c++基于windows控制台制作的. 源码地址:https://github.com/Guozhi-explore 话不多说,先上图感受一下:(控制台丑陋的界面不是我的锅emmm) ...

  8. 【NX二次开发】获取片体的边UF_MODL_ask_body_boundaries()

    获取片体的边UF_MODL_ask_body_boundaries(),如果输入实体,则获取的片体的边的数量为0. 源码: #include "Text.h" extern Dll ...

  9. LTDC_DMA2D驱动实验

    STM32F429芯片使用LTDC.DMA2D.及RAM存储器,构成了一个完整的液晶控制器.LTDC负责不断刷新液晶屏(将数据从显存搬运到液晶屏),DMA2D用于图像数据搬运.混合及格式转换(将数据搬 ...

  10. [非专业翻译] 高性能对象映射框架 - Mapster

    [非专业翻译] 高性能对象映射框架 - Mapster 系列介绍 [非专业翻译] 是对没有中文文档进行翻译的系列博客,文章由机翻和译者自己理解构成,和原文相比有所有不通,但意思基本一致. 因个人能力有 ...