分享 86 个 React 脑图,一口气看完

fc3c1151ffa09c42b8d6aac704a498a2.png

前言

React 18.0[1] 已经发布两周了

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

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

附原图和源文件:

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

86张脑图

1. 安装

9201f5a253ea3e69024de70ab05e8da6.png
1.安装.png

2. 核心概念

JSX 简介

f517daa917eaef432131dcc85b8211d9.png
2.1JSX 简介.png

2.2元素渲染

6ce7a11cee611af4e71010cc25f480c9.png
2.2元素渲染.png

2.3组件 & Props

688deddc640c38797869b0146eb64e56.png
2.3组件 & Props.png

2.4.1State & 生命周期

89abaa7b2ecaed90670e03fc2775057a.png
2.4.1State & 生命周期.png

2.4.2数据流和正确使用State

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

2.5事件处理

82a1c2bc9a4696c415d2a2f193612096.png
2.5事件处理.png

2.6条件渲染

6ad7803e5868427aac18d7ff52bca3fd.png
2.6条件渲染.png

2.7列表 & Key

8fc5a4e994dc95a3e84ab934b2cb3a91.png
2.7列表 & Key.png

2.8表单

92206c9384f2913b707af80e106c4161.png
2.8表单.png

2.9状态提升

080eeae9ab422c4947591748df9ad168.png
2.9状态提升.png

2.10组合 vs 继承

3d250be37b3ac78fc29ddd9f7d3e991d.png
2.10组合 vs 继承.png

2.11React 哲学

c0129b363ac4f33da7208cbf145bad46.png
2.11React 哲学.png

3. 高级指引

3.1无障碍辅助功能

f39ea10f7a2ad1c778cfbd9bb82a6d6a.png
3.1无障碍辅助功能.png

3.2代码分割

90564471b754a51ffa975edbaf3ea00c.png
3.2代码分割.png

3.3.1Context

99f35f872c6f72ced957816b6b22ed82.png
3.3.1Context.png

3.3.2Context API

3d109eeb5150046d955bf1db53f2ef6f.png
3.3.2Context API.png

3.4错误边界

8d5df5a2691f20c041cb6e1a4a8164c6.png
3.4错误边界.png

3.5Refs 转发

0d016692dbe91bf77144614d33a511ed.png
3.5Refs 转发.png

3.6Fragments

1fc7dc0b17be11e7bbaa5274f14c0b0e.png
3.6Fragments.png

3.7高阶组件

6a57c47554434e2968af7b49b12b1c52.png
3.7高阶组件.png

3.8.1集成带有 DOM 操作的插件

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

3.8.2与其他第三方库协同

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

3.9.1JSX 本质

99c513c4726974b2317a5151d3d9dd94.png
3.9.1JSX 本质.png

3.9.2JSX 指定 React 元素类型

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

3.9.3JSX 中指定 props

1f7e8907bb2dc598dc8e91e2838ac9c0.png
3.9.3JSX 中指定 props.png

3.9.4JSX 中的子元素

bc63bb2e23d438d48ec4993e3e9bdecc.png
3.9.4JSX 中的子元素.png

3.10.1性能优化之生产版本

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

3.10.2使用 Chrome Performance 标签分析组件

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

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

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

3.10.4其他优化

20b8ffe784794392e4987b4effe720eb.png
3.10.4其他优化.png

3.11Portals

1d295a53a74239bab60078a5891cb3ab.png
3.11Portals.png

3.12Profiler API

3fc34a76713bc0b08c1a306603c535f2.png
3.12Profiler API.png

3.13不使用 ES6

7b8fa234fc3dba2a56de4bc5316f8cf1.png
3.13不使用 ES6.png

3.14不使用 JSX

dee422e31ddaaf20a62e94297a3aab0b.png
3.14不使用 JSX.png

[3.15协调

4035281e6bf8086053cea7552948ddf7.png
3.15协调.png

3.16Refs & DOM

27bf6e25825d3cd086c74e6da79652fc.png
3.16Refs & DOM.png

3.17Render Props

1e3b1ec1d4a3923b17967fa9fd8e1bd9.png
3.17Render Props.png

3.18.1静态类型检查之Flow

17d505f067bbb2658e540e518e4e1ec9.png
3.18.1静态类型检查之Flow.png

3.18.2静态类型检查之TypeScript

17f818a1b25c86dcd6b138ddbd069381.png
3.18.2静态类型检查之TypeScript.png

3.18.2静态类型检查之其他

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

3.19严格模式

2613b10fcd720aaac326fb5211e024d6.png
3.19严格模式.png

3.20使用 PropTypes 进行类型检查

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

3.21非受控组件

0272c2debff88efbc55b3c216cf94a09.png
3.21非受控组件.png

3.22Web Components

91657175b47ed5845abfe3a78791d884.png
3.22Web Components.png

4. API 参考

4.1.1React 顶层 API之概览

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

4.1.2React 顶层 API之参考

527472ca78b1fde816e8f6093b8ab7fc.png
4.1.2React 顶层 API之参考.png

4.1.3React 顶层 API之参考2

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

4.2.1React.Component之概述

3b091bddc2701944afc96f16ba203a65.png
4.2.1React.Component之概述.png

4.2.2常用的生命周期方法

12332da2ead42d39601b505b7a733e86.png
4.2.2常用的生命周期方法.png

4.2.3不常用的生命周期方法

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

4.2.4其他 API

3055f3f314c31302478326d396693e2a.png
4.2.4其他 API.png

4.2.5Class 属性和实例属性

b8b0a824f9f6379f62ff013691db66cb.png
4.2.5Class 属性和实例属性.png

4.3ReactDOM

82ddb8cdd4aa32dff480a7655a5e0f20.png
4.3ReactDOM.png

4.4ReactDOMClient

baacfb60cabbc1a5cce687c438ae51ac.png
4.4ReactDOMClient.png

4.5ReactDOMServer

69e83eda84d4b5512c10e43b9342e2ad.png
4.5ReactDOMServer.png

4.6DOM 元素

728ecfca3c92aa393115ee33f979d758.png
4.6DOM 元素.png

4.7.1合成事件

719e7ccb7cff0b466d4917eea79696e5.png
4.7.1合成事件.png

4.7.2支持的事件

0f153405bbf0cc64c4f13f0dbf7ac346.png
4.7.2支持的事件.png

4.7.3支持的事件2

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

4.7.4支持的事件3

7b1515d6affae0984f4adf12e4557ff3.png
4.7.4支持的事件3.png

4.8Test Utilities

376a6ef42e88e1be74623ac177170a56.png
4.8Test Utilities.png

4.9Test Renderer

902c94bf6abb9ee0c863d106f0bd8663.png
4.9Test Renderer.png

4.10JS 环境要求

5dd359f3cb8cd9dc00e9a6a9a088c19b.png
4.10JS 环境要求.png

4.11React 术语词

e7274f3fd037f8c01c41b8941962eef9.png
4.11React 术语词.png

5. Hook

5.1Hook 简介

1b53cfe2a1cbf9278c0252a46f049225.png
5.1Hook 简介.png

5.2Hook 概览

b6b23e9869ccef71ee32fc6cb8b7ebc7.png
5.2Hook 概览.png

5.3使用 State Hook

5cdb0cbf6acdd60b118f44d5601acdd9.png
5.3使用 State Hook.png

5.4使用 Effect Hook

f02449502c2fc025406820f7684c7e6e.png
5.4使用 Effect Hook.png

5.5Hook 规则

38d958585de38994d6d51966bef3b40c.png
5.5Hook 规则.png

5.6自定义

4ecfce5db25e1d4d274575c31c8287a7.png
5.6自定义 Hook.png

Hook API

fc22a97066ad1df9f809160fe2979b9b.png
5.7Hook API.png

5.8.1Hooks FAQ之采纳策略

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

5.8.2Hooks FAQ之从 Class 迁移到 Hook

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

5.8.3Hooks FAQ之性能优化

8be11aea1d070bfede457d59861fc926.png
5.8.3Hooks FAQ之性能优化.png

5.8.4Hooks FAQ之底层原理

4a4bb4f8a7670261422c4bd51e4639f8.png
5.8.4Hooks FAQ之底层原理.png

6. 测试

6.1测试概览

f8998dbcf23fadef323fb6dd0130ac9c.png
6.1测试概览.png

6.2测试技巧

721c367df13fc4dff9a3b3ae29017642.png
6.2测试技巧.png

6.3测试环境

0576c50546bf7cddcd54b3dd1d7ac6f0.png
6.3测试环境.png

7. FAQ

7.1AJAX 及 APIs

a7bcc47415826b3ea2f1d7aef519ba24.png
7.1AJAX 及 APIs.png

7.2Babel,JSX 及构建过程

103c4a34cf85c4ce0361653d65fd7d2d.png
7.2Babel,JSX 及构建过程.png

7.3传递函数给组件

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

[7.4组件状态.png

e6c14767fce34da3a8281a97edfe11c2.png
7.4组件状态.png

7.5样式与 CSS.png

6df6eb0a63b31178523ea59dedbe809c.png
7.5样式与 CSS.png

7.6项目文件结构

d3c783bbbb18d316b8d2811ff473a0a3.png
7.6项目文件结构.png

7.7Virtual DOM 及内核

d356a128a1518f071afdcb7f967def60.png
7.7Virtual DOM 及内核.png

结语

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

关于本文
作者:LBJ
https://juejin.cn/post/7085145274200358949

参考资料

[1]

https://react.docschina.org/blog/2022/03/29/react-v18.html

[2]

https://github.com/jCodeLife/mind-map/tree/master/React

 
 
- 完 -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值