React快速入门 Part1 (内附录屏视频)
- 2020 年 2 月 25 日
- 笔记
前言
当下是大前端时代,前端已经从简单的切图华丽转变到了工程级项目,越来越多的能力沉淀在前端项目中,其中也包含了复杂的UI业务逻辑,用一个jQuery走天下的时代已经一去不复返了。
基于业务的持续发展我们选用了React技术栈来构建公司项目的前端能力。 而今天我们通过线上分享的方式让大家能快速上手,录屏的视频文件请查看文章尾部。
技术栈
起初我们在Vue和React直接进行选择,最终我们被Ant Design项目吸引,从而选用了React。 虽然Ant Design拥有Vue实现,但是由社区贡献的,我们稳健的选择了官方支持React。 至于Vue和React,如果开始辩论估计能大战365天,我们这边就不过多的展开了。
TypeScript
为JS提供类型支持,企业级项目必备,不多做介绍,越来越多的JS项目转向到TS,包含且不止 Vue、antd、Angular。
React Native
我们在APP端使用了RN相关技术,来构建RN APP和实现APP中小程序的能力.
Ant Design项目
Ant Design 是蚂蚁金服体验技术部推出的企业级产品设计体系,并输出了基于这个体系的许多组件库和解决方案。
antd
基于 Ant Design 设计语言,提供了开箱即用的高质量 React 和 Angular 组件实现,用于开发和服务于企业级中后台产品。
Ant Design Pro
开箱即用的中台前端/设计解决方案
Ant Design Mobile
一个基于 Preact / React / React Native 的 UI 组件库
AntV
G2 / G2Plot 可视化引擎
G2 是一套基于图形语法理论的可视化底层引擎,以数据驱动,具有高度的易用性和扩展性。用户无需关注各种繁琐的实现细节,一条语句即可构建出各种各样的可交互的统计图表。
G2Plot 是开箱即用、易于配置、具有良好视觉和交互体验的通用统计图表库。
G6 / Graphin 图可视化引擎
G6 是一个简单、易用、完备的图可视化引擎,它在高定制能力的基础上,提供了一系列设计优雅、便于使用的图可视化解决方案。能帮助开发者搭建属于自己的图可视化、图分析、或图编辑器应用。
Graphin 取名意为 Graph Insight(图的分析洞察),是一个基于 G6 封装的 React 组件库,专注在关系可视分析领域,简单高效,开箱即用。
F2 移动端可视化方案
F2 是一个专注于移动,开箱即用的可视化解决方案,完美支持 H5 环境同时兼容多种环境(Node, 小程序,Weex),完备的图形语法理论,满足你的各种可视化需求,专业的移动设计指引为你带来最佳的移动端图表体验。
L7 空间数据可视分析
蚂蚁金服 AntV 数据可视化团队推出的基于 WebGL 的开源大规模地理空间数据可视分析开发框架。
Ant Motion
使用 Ant Motion 能够快速在 React 框架中使用动画。提供了单项,组合动画,以及整套解决方案。
More…
以上组件足以应付大多数业务场景了,的人官方和社区还有更多丰富的组件,有兴趣的同学可以去官网查看。
开发环境
NodeJS
大前端必备,可以去官网下载各个平台的安装包:https://nodejs.org/en/download/
Yarn V1
包管理器我们选择了 Yarn V1,这边大家不要去使用最新的V2版本berry
设置淘宝NPM镜像
yarn config set registry https://registry.npm.taobao.org
常用命令
命令 |
描述 |
---|---|
add / add -D |
安装依赖和安装开发依赖 |
remove |
删除依赖 |
start |
启动项目 |
build |
构建项目 |
upgradeInteractive |
交互式更新依赖包 |
VSCode
我们选用了VSCode作为IDE
推荐插件安装
插件名称 |
描述 |
---|---|
Settings Sync |
同步VSCode的插件和配置到Github Gist |
Auto Rename Tag |
自动重命名标签 |
Bracket Pair Colorizer |
为括号对提供不同的颜色标记 |
ESLint |
ES静态语法分析 |
TSLint |
TS静态语法分析 |
Prettier |
文件格式化插件 |
React Native Tools |
RN工具 |
TypeScript Import Sorter |
对import进行整理和排序 |
推荐工作区配置
文件保存时自动格式化代码和自动整理import (删除未使用的import和import排序) 菜单导航: “Code – 首选项 – 设置 – 工作区 – 使用json打开”
{ "editor.formatOnSave": true, "importSorter.generalConfiguration.sortOnBeforeSave": true, "importSorter.sortConfiguration.removeUnusedImports": true, "importSorter.sortConfiguration.removeUnusedDefaultImports": true, "importSorter.sortConfiguration.customOrderingRules.rules": [{ "regex": "^(react|react-native)$", "orderLevel": 8 }, { "type": "importMember", "regex": "^$", "orderLevel": 5, "disableSort": true }, { "regex": "^[^.@]", "orderLevel": 10 }, { "regex": "^[@]", "orderLevel": 15 }, { "regex": "^[.]", "orderLevel": 30 }] }
至此我们的开发环境就搭建完成了。
知识点脑图
包管理器

PM
ES6

ES6
TypeScript

TypeScript
常见的文件扩展名

常见的文件扩展名
React

React
我的第一个项目
创建
# 创建一个基于umi的项目 yarn create umi # 包依赖还原 yarn # 启动项目 yarn start
删除不需要的脚手架文件
脚手架中包含了一些默认文件,大家如果不需要可以自行选择删除。
我的第一个Page – TodoList
这一节我们会完成一个简单的任务列表,功能点有
- 添加任务
- 任务列表的展示
- 删除一个任务
完成Demo的内容后你将掌握以下内容:
- TypeScript的基本使用
- antd组件的使用
- React Hooks
- useState
- useEffect
- useMemo
- 通过yarn安装、删除、和升级包
- linqts
- ……
《React Part 1》分享视频和资料
视频文件
https://v.youku.com/v_show/id_XNDU0MTQ4Njk3Ng==.html 密码: jkzlReact
资料
https://pan.baidu.com/s/1bi6Qfrv3n0cVbU23bMnRpQ 提取码: itdg
最后
今天我们从安装环境开始到第一个Demo,其中尽量降低了大家的学习门槛,许多React的高阶用法还没有说明,在下一节中我们会继续介绍Component、DvaJS、UmiJS、redux、样式表、自定义Hook、服务端交互等内容以助力大家可以使用TS+React开发企业级应用,敬请期待。