React概述
官网:https://react.docschina.org/
什么是React?
React是由Facebook研发的、用于解决UI复杂度的开源JavaScript库,目前由React联合社区维护。
它不是框架,只是为了解决UI复杂度而诞生的一个库
React的特点
- 轻量:React的开发版所有源码(包含注释)仅3000多行
- 原生:所有的React的代码都是用原生JS书写而成的,不依赖其他任何库
- 易扩展:React对代码的封装程度较低,也没有过多的使用魔法,所以React中的很多功能都可以扩展。
- 不依赖宿主环境:React只依赖原生JS语言,不依赖任何其他东西,包括运行环境。因此,它可以被轻松的移植到浏览器、桌面应用、移动端。
- 渐近式:React并非框架,对整个工程没有强制约束力。这对与那些已存在的工程,可以逐步的将其改造为React,而不需要全盘重写。
- 单向数据流:所有的数据自顶而下的流动
- 用JS代码声明界面
- 组件化
对比Vue
对比项 | Vue | React |
---|---|---|
全球使用量 | ✔ | |
国内使用量 | ✔ | |
性能 | ✔ | ✔ |
易上手 | ✔ | |
灵活度 | ✔ | |
大型企业 | ✔ | |
中小型企业 | ✔ | |
生态 | ✔ |
学习路径
整体原则:熟悉API --> 深入理解原理
- React
- 基础:掌握React的基本使用方法,有能力制作各种组件,并理解其基本运作原理
- 进阶:掌握React中的一些黑科技,提高代码质量
- React-Router:相当于vue-router
- Redux:相当于Vuex
- Redux本身
- 各种中间件
- 第三方脚手架:umi
- UI库:Ant Design,相当于Vue的Element-UI 或 IView
- 源码部分
- React源码分析
- Redux源码分析
关于课程
- demo关键字:课程名称前有demo字样的,为一个小练习,需要同学听完讲解后自行独立完成
- 扩展关键字:课程名称前有扩展字样的,为选修内容,没有掌握不会影响后面的学习
- 关于源代码:本门课所有源代码均使用git管理,每节课的代码为独立分支,但某些文件夹和文件不属于源代码管理范畴。
- 关于npm:本门课所有的第三方库安装,均使用yarn