## 什么是React?
React是由**Facebook**研发的、用于**解决UI复杂度**的开源**JavaScript库**,目前由React联合社区维护。
> 它不是框架,只是为了解决UI复杂度而诞生的一个库 构建用户见面最主要的功能 其他交给的第三方完成
MVVM 或者mvc 框架具有侵入性 拥有一套开发标准改变开发代码的方式
React的特点
- 轻量:React的开发版所有源码(包含注释)仅3000多行
- 原生:所有的React的代码都是用原生JS书写而成的,不依赖其他任何库
- 易扩展:React对代码的封装程度较低,也没有过多的使用魔法,所以React中的很多功能都可以扩展。
- 不依赖宿主环境:React只依赖原生JS语言,不依赖任何其他东西,包括运行环境。因此,它可以被轻松的移植到浏览器、桌面应用、移动端。
- 渐近式:React并非框架,对整个工程没有强制约束力。这对与那些已存在的工程,可以逐步的将其改造为React,而不需要全盘重写。
- 单向数据流:所有的数据自顶而下的流动
- 用JS代码声明界面
- 组件化
学习路径
整体原则:熟悉API --> 深入理解原理
- React
- 基础:掌握React的基本使用方法,有能力制作各种组件,并理解其基本运作原理
- 进阶:掌握React中的一些黑科技,提高代码质量
- React-Router:相当于vue-router
- Redux:相当于Vuex
- Redux本身
- 各种中间件
- 第三方脚手架:umi
- UI库:Ant Design,相当于Vue的Element-UI 或 IView
- 源码部分
- React源码分析
- Redux源码分析