create-react-app 入门学习
全局安装 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 入门学习的更多相关文章
- 深入 Create React App 核心概念
本文差点难产而死.因为总结的过程中,多次怀疑本文是对官方文档的直接翻译和简单诺列:同时官方文档很全面,全范围的介绍无疑加深了写作的心智负担.但在最终的梳理中,发现走出了一条与众不同的路,于是坚持分享出 ...
- 在 .NET Core 5 中集成 Create React app
翻译自 Camilo Reyes 2021年2月22日的文章 <Integrate Create React app with .NET Core 5> [1] Camilo Reyes ...
- tap news:week5 0.0 create react app
参考https://blog.csdn.net/qtfying/article/details/78665664 先创建文件夹 安装create react app 这个脚手架(facebook官方提 ...
- 使用create react app教程
This project was bootstrapped with Create React App. Below you will find some information on how to ...
- 如何扩展 Create React App 的 Webpack 配置
如何扩展 Create React App 的 Webpack 配置 原文地址https://zhaozhiming.github.io/blog/2018/01/08/create-react-a ...
- Create React App
Facebook开源了React前端框架(MIT Licence),也同时提供了React脚手架 - create-react-app. create-react-app遵循约定优于配置(Coc)的原 ...
- Create React App 安装less 报错
执行npm run eject 暴露模块 安装 npm i less less-loader -D 1.打开 react app 的 webpack.config.js const sassRege ...
- [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 ...
- [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 ...
- create react app 项目部署在Spring(Tomcat)项目中
网上看了许多,大多数都是nginx做成静态项目,但是这样局限性太多,与Web项目相比许多服务端想做的验证都很麻烦,于是开始了艰难的探索之路,终于在不经意间试出来了,一把辛酸... 正常的打包就不说了. ...
随机推荐
- 关于unity贴图压缩
unity官方 https://docs.unity3d.com/Manual/class-TextureImporterOverride.html //后续填充内容
- Runtime PM 处理不当导致的 external abort on non-linefetch 案例分享
硬件平台:某ARM SoC 软件平台:Linux 1 Runtime PM 简介 在介绍 Runtime PM 之前,不妨先看看传统的电源管理.传统的电源管理机制,称之为 System PM(Syst ...
- web容器获取SSL指纹实现和ByPass
@font-face { font-family: octicons-link; src: url("data:font/woff;charset=utf-8;base64,d09GRgAB ...
- THINKPHP_(8)_修改TP源码,支持基于多层关联的任一字段进行排序
之前博文 前述博文THINKPHP_(1)_修改TP源码,支持对中文字符串按拼音进行排序,其解决的主要问题是,对于查询出的think\collection数据,按指定字段对数据进行排序,从而在页面上进 ...
- NNVM Compiler,AI框架的开放式编译器
NNVM Compiler,AI框架的开放式编译器 深度学习已变得无处不在且不可或缺.在多种平台(例如手机,GPU,IoT设备和专用加速器)上部署深度学习工作负载的需求不断增长.宣布了TVM堆栈,以弥 ...
- 定位服务API案例
定位服务API案例 要使用定位服务API,需要确保设备已经下载并安装了HMS Core服务组件,并将Location Kit的SDK集成到项目中. 指定应用权限 Android提供了两种位置权限: A ...
- Nucleus 实时操作系统中断(上)
Nucleus 实时操作系统中断(上) Interrupts in the Nucleus SE RTOS 所有现代微处理器和微控制器都有某种中断设施.这种能力对于提供许多应用程序所需的响应能力是必不 ...
- JUC 并发编程--10, 阻塞队列之--LinkedBlockingDeque 工作窃取, 代码演示
直接上代码 class LinkedBlockingDequeDemo { // 循环是否结束的开关 private static volatile boolean flag1 = true; pri ...
- B-Tree插入和删除的Java实现
B-Tree插入和删除的Java实现 一.一颗非空m阶B-Tree的性质 除根结点以外的每个结点的孩子引用最多存在m个,关键码最多存在m - 1个:除根结点以外的每个结点的孩子引用至少存在⌈m / 2 ...
- go-zero:开箱即用的微服务框架
go-zero 是一个集成了各种工程实践的 Web 和 rpc 框架,它的弹性设计保障了大并发服务端的稳定性,并且已经经过了充分的实战检验. go-zero 在设计时遵循了 "工具大于约定和 ...