一、简介
1. 什么是React?
React是由Facebook研发的、用于解决UI复杂度的开源JavaScript库,目前由React联合社区维护。
它不是框架,只是为了解决UI复杂度而诞生的一个库
2. React的特点
- 轻量:React的开发版所有源码(包含注释)仅3000多行
- 原生:所有的React的代码都是用原生JS书写而成的,不依赖其他任何库
- 易扩展:React对代码的封装程度较低,也没有过多的使用魔法,所以React中的很多功能都可以扩展。
- 不依赖宿主环境:React只依赖原生JS语言,不依赖任何其他东西,包括运行环境。因此,它可以被轻松的移植到浏览器、桌面应用、移动端。
- 渐近式:React并非框架,对整个工程没有强制约束力。这对与那些已存在的工程,可以逐步的将其改造为React,而不需要全盘重写。
- 单向数据流:所有的数据自顶而下的流动
- 用JS代码声明界面
- 组件化
3. 对比Vue
| 对比项 | Vue | React |
|---|---|---|
| 全球使用量 | ✔ | |
| 国内使用量 | ✔ | |
| 性能 | ✔ | ✔ |
| 易上手 | ✔ | |
| 灵活度 | ✔ | |
| 大型企业 | ✔ | |
| 中小型企业 | ✔ | |
| 生态 | ✔ |
二、相关库
1. react(核心库)
提供React.createElement()方法,用来创建元素
- 参数1:元素类型,如果是字符串,一个普通的HTML元素
- 参数2:元素的属性,是一个对象
- 后续参数:元素的子节点。后面对边写多少参数,都是子节点
创建的是一个React元素,本质上是一个对象
var h1 = React.createElement("h1");
2. react-dom
提供ReactDOM.render()方法,将元素绑定到dom上
ReactDOM.render("Hello World", document.getElementById("root"));
3. JSX语法:
凡是使用JSX的文件,必须导入React
三、脚手架
官方:create-react-app
四、开发环境准备
VSCode配置
emmet配置:
"javascript": "javascriptreact"
VSCode插件安装
- ESLint:代码风格检查
- ES7 React/Redux/GraphQL/React-Native snippets:快速代码编写
##E Chrome插件安装
React Developer Tools