86张脑图,一口气看完 React

关注公众号 前端开发博客,领27本电子书

回复加群,自助秒进前端群

前言

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

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

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

附原图和源文件:

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

86张脑图

1. 安装

8845a9ab6922cc2929a8027b499a8837.png
1.安装.png

2. 核心概念

JSX 简介

b35c26f033828d523c0f81913664eea8.png
2.1JSX 简介.png

2.2元素渲染

7290db49d012ddda605f73d5e3fcb84b.png
2.2元素渲染.png

2.3组件 & Props

a7ffad7720ea588ba87a0190ec1a70a2.png
2.3组件 & Props.png

2.4.1State & 生命周期

908112261950a1fe9a1bfd4f56e1c331.png
2.4.1State & 生命周期.png

2.4.2数据流和正确使用State

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

2.5事件处理

fd08a1c466a989ac8ad1808ac622d4de.png
2.5事件处理.png

2.6条件渲染

c45713b7a2fddd57c9f4c446a3b9d408.png
2.6条件渲染.png

2.7列表 & Key

ceba5bc72619baf06c76acd75da50973.png
2.7列表 & Key.png

2.8表单

96a9d2ed8116fa8119f972172233731f.png
2.8表单.png

2.9状态提升

beb102f7692f42bbbd01d956d321913a.png
2.9状态提升.png

2.10组合 vs 继承

cfe127332d589c14fbe1fc1425dfd331.png
2.10组合 vs 继承.png

2.11React 哲学

51584a93541dc2da4a2ef1dc13e498cb.png
2.11React 哲学.png

3. 高级指引

3.1无障碍辅助功能

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

3.2代码分割

751fdae1a8ba2c70f22049654e5e4614.png
3.2代码分割.png

3.3.1Context

1fd10747ff7cc5cb90af12fb1cb72c9b.png
3.3.1Context.png

3.3.2Context API

233537166c3b66e7aaaad59dee65e2f0.png
3.3.2Context API.png

3.4错误边界

8b674740835835a7e68f8b7d98ccb6e5.png
3.4错误边界.png

3.5Refs 转发

8fed996246aa41cc2b8a348bfaf8eac7.png
3.5Refs 转发.png

3.6Fragments

8653ccdef6c0bd62c596657a12581789.png
3.6Fragments.png

3.7高阶组件

5410da8cad802df8c43e13d6fa12521a.png
3.7高阶组件.png

3.8.1集成带有 DOM 操作的插件

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

3.8.2与其他第三方库协同

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

3.9.1JSX 本质

d6d7195ade3611a1f71045e498c9a6fb.png
3.9.1JSX 本质.png

3.9.2JSX 指定 React 元素类型

1cee119726d4741f24aa2b306ea14b72.png
3.9.2JSX 指定 React 元素类型.png

3.9.3JSX 中指定 props

dd5f477fbef35abe2ee176d51a1ee059.png
3.9.3JSX 中指定 props.png

3.9.4JSX 中的子元素

4b15cd83d2fde37d5fe957978025d6fe.png
3.9.4JSX 中的子元素.png

3.10.1性能优化之生产版本

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

3.10.2使用 Chrome Performance 标签分析组件

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

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

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

3.10.4其他优化

47d4de2a696e8d459e63b95c2e7c0e90.png
3.10.4其他优化.png

3.11Portals

64462f617dc842ad76707973513635d0.png
3.11Portals.png

3.12Profiler API

a9310c4c2a98164aabfa5c84d16525b8.png
3.12Profiler API.png

3.13不使用 ES6

5450e6433cc5e3a70519c5353d7be63e.png
3.13不使用 ES6.png

3.14不使用 JSX

83ed13fb810f00db53377347e5c00aad.png
3.14不使用 JSX.png

[3.15协调

e2b2fcca7a5906f763a0e44d36c431c2.png
3.15协调.png

3.16Refs & DOM

364e5d4bf922f0789a2895707593bb41.png
3.16Refs & DOM.png

3.17Render Props

a1d4aaadc5b7e697eb0c221f096b4e27.png
3.17Render Props.png

3.18.1静态类型检查之Flow

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

3.18.2静态类型检查之TypeScript

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

3.18.2静态类型检查之其他

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

3.19严格模式

fdf8334fffd9f8bb0582322867265cb1.png
3.19严格模式.png

3.20使用 PropTypes 进行类型检查

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

3.21非受控组件

98323e855b192861e2cd3cb74aaff5b3.png
3.21非受控组件.png

3.22Web Components

04d08f9e6461b449e62861f844c86ffd.png
3.22Web Components.png

4. API 参考

4.1.1React 顶层 API之概览

5b51efcfb9a31b3e13a307dfb6a8f51c.png
4.1.1React 顶层 API之概览.png

4.1.2React 顶层 API之参考

ca10f801b2f0dc53bcec6c365aeb636e.png
4.1.2React 顶层 API之参考.png

4.1.3React 顶层 API之参考2

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

4.2.1React.Component之概述

258891ced23362bd092eac509f37b7ab.png
4.2.1React.Component之概述.png

4.2.2常用的生命周期方法

9d8bdd801ab607c6345a3f95588d17e1.png
4.2.2常用的生命周期方法.png

4.2.3不常用的生命周期方法

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

4.2.4其他 API

db03441e1f9f729fc14b6349e032a78f.png
4.2.4其他 API.png

4.2.5Class 属性和实例属性

04c27a26cc9dbcb27363ccdf8ab13e18.png
4.2.5Class 属性和实例属性.png

4.3ReactDOM

fe1249834d6d2732913147d2f213d138.png
4.3ReactDOM.png

4.4ReactDOMClient

54b968163bd9e192ca06c52fcf02d608.png
4.4ReactDOMClient.png

4.5ReactDOMServer

f1f03f23982bc17b9b03a52e5e08d8da.png
4.5ReactDOMServer.png

4.6DOM 元素

21aedc10d05cb9f5a3fcd5c59e59cd2f.png
4.6DOM 元素.png

4.7.1合成事件

5c80502b86e52e1b21965a0f9e72a938.png
4.7.1合成事件.png

4.7.2支持的事件

78cfedcbaafd772e73a373157acd7b86.png
4.7.2支持的事件.png

4.7.3支持的事件2

12993a7440a8211a19002bf902b27896.png
4.7.3支持的事件2.png

4.7.4支持的事件3

0e03b1bb999fadb6d29a2abab91bc139.png
4.7.4支持的事件3.png

4.8Test Utilities

5e0d5e5e2e1afe5f17a3161c87155b36.png
4.8Test Utilities.png

4.9Test Renderer

592bda9d09e9075c698c3607f20cbdf8.png
4.9Test Renderer.png

4.10JS 环境要求

2ff4f20a619487930e35397b81a0a756.png
4.10JS 环境要求.png

4.11React 术语词

d2adc1c0a08e3db4dd3464853f84c9cc.png
4.11React 术语词.png

5. Hook

5.1Hook 简介

339b1b1f388999a087d3c6efd3579f3f.png
5.1Hook 简介.png

5.2Hook 概览

84eb915befbf1cb8e9966c3b71dd4817.png
5.2Hook 概览.png

5.3使用 State Hook

cfbf986ac2b3dfa5b0ffb3fa8c75e63e.png
5.3使用 State Hook.png

5.4使用 Effect Hook

41d574b4965aeaeb8719f302adf7159b.png
5.4使用 Effect Hook.png

5.5Hook 规则

ba8de34c9fd726c090dbd2d84007c082.png
5.5Hook 规则.png

5.6自定义

991b90e9e3d3455f1aa071324f60922d.png
5.6自定义 Hook.png

Hook API

2ec1f0484986006fef133bffdaf4f7ff.png
5.7Hook API.png

5.8.1Hooks FAQ之采纳策略

60d989b6d5cfef709d72e01262b64447.png
5.8.1Hooks FAQ之采纳策略.png

5.8.2Hooks FAQ之从 Class 迁移到 Hook

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

5.8.3Hooks FAQ之性能优化

1c0c337edec3af5edd6c71ab79fd6e8b.png
5.8.3Hooks FAQ之性能优化.png

5.8.4Hooks FAQ之底层原理

c3bbeecde47d3c66af06da6bb4c6b72e.png
5.8.4Hooks FAQ之底层原理.png

6. 测试

6.1测试概览

2510b3b6b2f0e3b3761c6956395921b8.png
6.1测试概览.png

6.2测试技巧

b82f2cbe2603dd259431ed8a040c6f85.png
6.2测试技巧.png

6.3测试环境

4e31d9a6ee6a9281b789bab66011f70c.png
6.3测试环境.png

7. FAQ

7.1AJAX 及 APIs

c09b7eb05260adf665a36e12c9923a1a.png
7.1AJAX 及 APIs.png

7.2Babel,JSX 及构建过程

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

7.3传递函数给组件

57824883fa49ac607872d86cd84b6a5d.png
7.3传递函数给组件.png

[7.4组件状态.png

6c312e4afa1d346e0c73650d3597fcf4.png
7.4组件状态.png

7.5样式与 CSS.png

6245a9eaca3f0d195b7920c072326183.png
7.5样式与 CSS.png

7.6项目文件结构

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

7.7Virtual DOM 及内核

5d946a19389465be3cf1f0379a237a58.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

 
 
- 完 -
推荐阅读

彻底解决新手对 react 的恐惧!

44道JS难题,做对一半就是高手

聊聊前端开发日常的协作工具(全)

cb3d2ec092ba8b86e2f9aac8234a55a6.png

关注公众号:前端开发博客

  1. 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF

  2. 回复「Vue脑图」获取 Vue 相关脑图

  3. 回复「思维图」获取 JavaScript 相关思维图

  4. 回复「简历」获取简历制作建议

  5. 回复「简历模板」获取精选的简历模板

  6. 回复「加群」进入500人前端精英群

  7. 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。

  8. 回复「知识点」下载高清JavaScript知识点图谱

 👍🏻 点赞 + 在看 支持小编

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值