86张脑图,一口气看完 React

前言

React 18.0[1] 已经发布一段时间了

所以这两天抽空重新完整的过了一遍 React

我将所有内容整理为以下86张脑图,方便以后查阅

附原图和源文件:

原图和源文件(包括xmindpos文件)已上传 github[2],如有需要可自行下载

86张脑图

1. 安装

8ae87d7f34d7c96344f4f1f289ae1271.png
1.安装.png

2. 核心概念

JSX 简介

2583507bde1ef89b3db3f63551f8e0a7.png
2.1JSX 简介.png

2.2元素渲染

0eb6d15cf8b97af0f5053c6dfcbdce62.png
2.2元素渲染.png

2.3组件 & Props

4abeab2e5a8cc15a7f584be97d9abfba.png
2.3组件 & Props.png

2.4.1State & 生命周期

184fca1b50dbcda3c46fd10ba41c6aac.png
2.4.1State & 生命周期.png

2.4.2数据流和正确使用State

cb027d3a06de6d0e81ab6802739330b4.png
2.4.2数据流和正确使用State.png

2.5事件处理

9285de8f1928978b529fdbee6744d2ca.png
2.5事件处理.png

2.6条件渲染

a70c1caa5184c16a46a9d446f40d71ce.png
2.6条件渲染.png

2.7列表 & Key

4f3e8e1a92545c50a39cb653b466b299.png
2.7列表 & Key.png

2.8表单

2491147319dd9d7911d5ef63fe175f6f.png
2.8表单.png

2.9状态提升

13f6ce587f4aa10b4f7ba8035e1085dd.png
2.9状态提升.png

2.10组合 vs 继承

53639ef54981572d29db7a645857261a.png
2.10组合 vs 继承.png

2.11React 哲学

c38be27d3b3f8120ec9a5b26042e0293.png
2.11React 哲学.png

3. 高级指引

3.1无障碍辅助功能

22689dfbdd83279803117b5ae1435fb3.png
3.1无障碍辅助功能.png

3.2代码分割

6bff30cb05f43886bf31c8bbc6489472.png
3.2代码分割.png

3.3.1Context

6e11b6b86f1bf9a6239f4c2ebbe27db4.png
3.3.1Context.png

3.3.2Context API

b144daedb4ee102b69f254541c2839ec.png
3.3.2Context API.png

3.4错误边界

4fcec98a3d3bf7f5ff0f08d7cb04683d.png
3.4错误边界.png

3.5Refs 转发

c0884432df655801a90a4630f2881649.png
3.5Refs 转发.png

3.6Fragments

704a2a5ae284d3c2f652ddf53f445c4b.png
3.6Fragments.png

3.7高阶组件

1818a2da8c71e7bf6d0f5f096998a890.png
3.7高阶组件.png

3.8.1集成带有 DOM 操作的插件

fe3699cf7d0a0c1b4e0b236a8b8eb715.png
3.8.1集成带有 DOM 操作的插件.png

3.8.2与其他第三方库协同

3509c1a9511a5bbd5e04475cb49c519d.png
3.8.2与其他第三方库协同.png

3.9.1JSX 本质

fa7f0e83f833ad9843ed7b5348d8e63d.png
3.9.1JSX 本质.png

3.9.2JSX 指定 React 元素类型

f496338e36267b64cb361a57b8e79954.png
3.9.2JSX 指定 React 元素类型.png

3.9.3JSX 中指定 props

189c42991aefca0bae3d121d68c830bf.png
3.9.3JSX 中指定 props.png

3.9.4JSX 中的子元素

1f1e86404a3f68aa5aa3c76bf43e6c1d.png
3.9.4JSX 中的子元素.png

3.10.1性能优化之生产版本

891162dd160699372ced2f06020da293.png
3.10.1性能优化之生产版本.png

3.10.2使用 Chrome Performance 标签分析组件

2db7df17d654d68a328e3dc048672994.png
3.10.2使用 Chrome Performance 标签分析组件.png

3.10.3使用开发者工具中的分析器对组件进行分析

971f83dda0df92f5973bc25dee179529.png
3.10.3使用开发者工具中的分析器对组件进行分析.png

3.10.4其他优化

bdecffbd0445264e391cd43086b7480f.png
3.10.4其他优化.png

3.11Portals

ce2fd11b4f65934c9a6c9b024012df89.png
3.11Portals.png

3.12Profiler API

3f0340b7c4d9672f0251cbec6a0c0876.png
3.12Profiler API.png

3.13不使用 ES6

67958ff66df89decaebd44d7164ca8ca.png
3.13不使用 ES6.png

3.14不使用 JSX

52b52828d329e7847624fb1445bdc29e.png
3.14不使用 JSX.png

[3.15协调

6cdf9c4082a759b1fcdca74082fa038c.png
3.15协调.png

3.16Refs & DOM

7cee3a77da185fc3160c3b77bbece48c.png
3.16Refs & DOM.png

3.17Render Props

187e0f5abb513222d85da6c86127c499.png
3.17Render Props.png

3.18.1静态类型检查之Flow

d1f57ba004f419722407964a32f689f8.png
3.18.1静态类型检查之Flow.png

3.18.2静态类型检查之TypeScript

e79276e75afabbd676e0ac3e5dabbf88.png
3.18.2静态类型检查之TypeScript.png

3.18.2静态类型检查之其他

ed81c1ffb175d026ca7e6ea321fe633d.png
3.18.2静态类型检查之其他.png

3.19严格模式

beeb926dd0107b128ea2e765c1085d08.png
3.19严格模式.png

3.20使用 PropTypes 进行类型检查

5740e49f6970a62a9733dfcd71dbde18.png
3.20使用 PropTypes 进行类型检查.png

3.21非受控组件

6fd2f36e148e9412a339e3d162ef2ced.png
3.21非受控组件.png

3.22Web Components

da68e4647a17b0e852153cdd43731ab7.png
3.22Web Components.png

4. API 参考

4.1.1React 顶层 API之概览

a868eaa5a11b2d59e62ff1caf8178a6d.png
4.1.1React 顶层 API之概览.png

4.1.2React 顶层 API之参考

4d7965ed5ef6e97cd941966622ef6d5b.png
4.1.2React 顶层 API之参考.png

4.1.3React 顶层 API之参考2

b74872aeb2e922170123ac5f907f451e.png
4.1.3React 顶层 API之参考2.png

4.2.1React.Component之概述

8cbb7da61d0885fc7a0bc86417202418.png
4.2.1React.Component之概述.png

4.2.2常用的生命周期方法

8a0c19827780a763a647a0f212c7d9bc.png
4.2.2常用的生命周期方法.png

4.2.3不常用的生命周期方法

f17d5e3009b4081f5c4c8397e5000493.png
4.2.3不常用的生命周期方法.png

4.2.4其他 API

3bb677d708c5de1d26b839f80d5cce97.png
4.2.4其他 API.png

4.2.5Class 属性和实例属性

923ab446fac35282c2f20b821e0f5bd0.png
4.2.5Class 属性和实例属性.png

4.3ReactDOM

9023f32cc21dda7f648c9fb6fe46705b.png
4.3ReactDOM.png

4.4ReactDOMClient

956d553407ba9922234b821a4a24ae3d.png
4.4ReactDOMClient.png

4.5ReactDOMServer

fb89a807fa48af063f0b2078efc2c880.png
4.5ReactDOMServer.png

4.6DOM 元素

ca8713a72a79efc844b781aa7dc9e04b.png
4.6DOM 元素.png

4.7.1合成事件

7232bce20258cf96b1e8cd2773bbd6d3.png
4.7.1合成事件.png

4.7.2支持的事件

3e26efcae3caa85f6a2814b79500854f.png
4.7.2支持的事件.png

4.7.3支持的事件2

fe1b86192fc2226e77303ef129224538.png
4.7.3支持的事件2.png

4.7.4支持的事件3

76689ed192d23ed02aac32b82d6c6da1.png
4.7.4支持的事件3.png

4.8Test Utilities

2250b392b9815cbe3c5dfc274b97bb89.png
4.8Test Utilities.png

4.9Test Renderer

7508eb552dcc84aa895fec5f4360ae04.png
4.9Test Renderer.png

4.10JS 环境要求

96b7e648fa01fc53d75417371cdc80cc.png
4.10JS 环境要求.png

4.11React 术语词

65073e61845a911b86508b8493da3302.png
4.11React 术语词.png

5. Hook

5.1Hook 简介

c7376bf4e834bc107420baa5032263b2.png
5.1Hook 简介.png

5.2Hook 概览

59cd7a8becb6430f540194af8631b0c9.png
5.2Hook 概览.png

5.3使用 State Hook

79d9cf2e3996b356b9c6a1f1917e89fe.png
5.3使用 State Hook.png

5.4使用 Effect Hook

522cd932d908f25d9a83a534533583e1.png
5.4使用 Effect Hook.png

5.5Hook 规则

35890aa1ef2c697992d17764efdfcb75.png
5.5Hook 规则.png

5.6自定义

858506401bd94eb78aece7746d80cc6f.png
5.6自定义 Hook.png

Hook API

a13c37e47cbc86ff2c8aa13db45e9d2b.png
5.7Hook API.png

5.8.1Hooks FAQ之采纳策略

bc6a02104c1cdf061e74dd59f2e5f010.png
5.8.1Hooks FAQ之采纳策略.png

5.8.2Hooks FAQ之从 Class 迁移到 Hook

0436eaf663a07e53d249787f2acb883e.png
5.8.2Hooks FAQ之从 Class 迁移到 Hook.png

5.8.3Hooks FAQ之性能优化

f505e49f53301e29316701aba3aa5209.png
5.8.3Hooks FAQ之性能优化.png

5.8.4Hooks FAQ之底层原理

1a21d7e5d2d208e8eeaa47d839946898.png
5.8.4Hooks FAQ之底层原理.png

6. 测试

6.1测试概览

6f22c32421d8c67ad45b0b88d612a3cd.png
6.1测试概览.png

6.2测试技巧

a01004cdc860cc98cb3b10421cd42d55.png
6.2测试技巧.png

6.3测试环境

8acaf4cf87db9acebd26942ab8bcc937.png
6.3测试环境.png

7. FAQ

7.1AJAX 及 APIs

0a813a35a5059c15c48f92cb5f6ed5d4.png
7.1AJAX 及 APIs.png

7.2Babel,JSX 及构建过程

1d4c0bc18f6fad77d240f0fb96a97588.png
7.2Babel,JSX 及构建过程.png

7.3传递函数给组件

b3234a073a1aa0e7a1c909e249983e4b.png
7.3传递函数给组件.png

[7.4组件状态.png

1aa72cbc94fa065bd2f605c9504fa309.png
7.4组件状态.png

7.5样式与 CSS.png

b6d691cea42b8c44c31238c5e05c2b8a.png
7.5样式与 CSS.png

7.6项目文件结构

1e7f8a042d2fe0b3cb1843780b3cc3f8.png
7.6项目文件结构.png

7.7Virtual DOM 及内核

d2d5b5d5ccb15a3fcf48b4f0c5c7ae18.png
7.7Virtual DOM 及内核.png

结语

以上是本文的所有内容,如有问题欢迎指正 💕

作者:LBJ

原文:https://juejin.cn/post/7085145274200358949

参考资料

[1]

React 18.0: https://link.juejin.cn?target=https%3A%2F%2Freact.docschina.org%2Fblog%2F2022%2F03%2F29%2Freact-v18.html

[2]

github: https://link.juejin.cn?target=https%3A%2F%2Fgithub.com%2FjCodeLife%2Fmind-map%2Ftree%2Fmaster%2FReact

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值