自学react,本文为b站千锋教育2022版React全家桶教程_react零基础入门到项目实战完整版课程笔记
补充部分React 18 特性
b站千锋教育2022版React全家桶教程_react零基础入门到项目实战完整版
一、React介绍
1、React 的起源与发展
Fcabook内部项目,由于不满意市场上的JavascriptMVC 框架 ,就自己写了一套,与2013年5月开源
2、与传统MVC的关系
不是完整的MVC框架;React 将界面分成个各个独立的小块,每一个小块都是组件,组件之间进行组合嵌套,构成页面。
3、React的特性
- 声明式设计
- 高效:虚拟DOM减少与DOM的交互
- 灵活:与已知的框架很好的配合
- JSX:Javascript语法的扩展
- 组件:复用性高
- 单向响应的数据流-React实现了单项响应的数据流,减少了重复代码
4、虚拟DOM
React将真实DOM树转换成Javascript对象树,也就是Virtual DOM
二、create-react-app
全局安装 create-react-app
npm install -g create-react-app
创建项目
npm create-react-app myapp(项目名称)
如果不想全局安装,可以使用npx安装
npx create-react-app myapp(项目名称)
创建的过程会安装三个东西
- react: react 的顶级库
- react-dom: web端使用 移动端使用react-native
- react-scripts:包含运行和打包react应用的所有脚本和配置
根据提示命令,即可进入项目,运行 npm start 即可运行项目
|——README.md 使用方法的文档
|——node_modules 所有依赖安装的目录
|——package-lock.json 锁定配置信息,安装的包的版本
|——package.json
|——public 静态公共目录
|——src 开发用的源代码目录
常见问题:
-
npm 安装失败
-
npm 切换为淘宝镜像
npm install --registry=https://registry.npm.taobao.org
-
使用yarn 安装
-
删除package-lock 和node_modules文件,重新执行命令
-
清除 npm缓存,
npm cache clean --force npm install
-
三、编写第一个React应用程序
四、JSX 语法和组件
安装 React Devtools 调试工具
方法一、下载React Devtools 源码 安装依赖,打包之后添加到浏览器扩展程序中
方法二、https://github.com/facebook/react-devtools/releases/tag/3.4.2 下载扩展程序
1.JSX语法
JSX将HTML直接加入到Javascript代码中,再通过翻译器转换到纯Javascript后由浏览器执行,在实际开发中,JSX在打包阶段都已经编译成纯Javascript,不会带来任何副作用,反而会让代码更加直观并且容易维护。编译过程由Babel的JSX编译器实现。
让Javascript 支持直接在Javascript代码中编写类似于Html标签结构的语法,编译的过程会把类似HTML的JSX结构转换成Javascript的对象结构
2、Class 组件
Es6 的加入,支持React直接使用class来定义一个类,React拆给你佳能组件的方法就是类的继承,ES6 class 是目前官方推荐的使用方法,使用了es6标准语法来构建
import React