86张脑图,一口气看完 React
点击上方 前端Q,关注公众号
回复加群,加入前端Q技术交流群
React 18.0[1] 已经发布一段时间了
所以这两天抽空重新完整的过了一遍 React
我将所有内容整理为以下86
张脑图,方便以后查阅
附原图和源文件:
原图和源文件(包括xmind
和pos
文件)已上传 github[2],如有需要可自行下载
86张脑图
1. 安装
![](https://filescdn.proginn.com/02964e328b17b199c1d59066efd18506/208e5cd41b742d3ee3e1eec1873d250e.webp)
2. 核心概念
JSX 简介
![](https://filescdn.proginn.com/ebbdc91bd0b761ddf884d8336bff1fc0/aecaa4b8b933f0082ce0127cd11423c9.webp)
2.2元素渲染
![](https://filescdn.proginn.com/9d747d24ab459078b0c3f1cc88897730/6625fa5e17351abf6dbe67f1586838a2.webp)
2.3组件 & Props
![](https://filescdn.proginn.com/cde50fe4b811c27164ef31931bbf07c5/079aa01775a40fd41cbb73b7ec75cbe0.webp)
2.4.1State & 生命周期
![](https://filescdn.proginn.com/def6c1f757bb071525b459107c359bd0/2e85a6716cf73307bafe9cceb43d05ef.webp)
2.4.2数据流和正确使用State
![](https://filescdn.proginn.com/742541d3f2f5e7dcea54a585eed00c2b/037abe009f0ff936639b888407940d8a.webp)
2.5事件处理
![](https://filescdn.proginn.com/cc7cfc51896b0ed8684264420a86dc06/cc4a3e7dde5bcc0b3a507247719cdd5e.webp)
2.6条件渲染
![](https://filescdn.proginn.com/0ed770583b9ebc68dbd172630a174ce7/1774b11e60cb3f31c307f67e949ec279.webp)
2.7列表 & Key
![](https://filescdn.proginn.com/d0f796f998a5522ec96563cb66f278db/81a849f4c2f64465ef61bdffaab6aaf5.webp)
2.8表单
![](https://filescdn.proginn.com/af3d2583230ac15746136b523d26302e/99f9baf67ad66dc696a6232e7b063496.webp)
2.9状态提升
![](https://filescdn.proginn.com/caa73d08d815b7f0c8bea445fd6aab52/646d977cc8ca30e255e7169943befd2d.webp)
2.10组合 vs 继承
![](https://filescdn.proginn.com/f3753f15d198f04b21f610894581acbb/081cd18a4e98377d355375ea00fe8196.webp)
2.11React 哲学
![](https://filescdn.proginn.com/6c887e673065b717614a729d3fc713df/5284aa2c6b9b1d7ac63abaec0c5fbb97.webp)
3. 高级指引
3.1无障碍辅助功能
![](https://filescdn.proginn.com/3a8739d09949c4a95edec44ce6f9278c/3eaa2d958a193d1c241cdf9e348f09a2.webp)
3.2代码分割
![](https://filescdn.proginn.com/1f42639471ae1f9fa482ca27a6726cfa/7966edd2c720db89395e025f3bbd0c16.webp)
3.3.1Context
![](https://filescdn.proginn.com/f4d11d2920e7abff0c55f59c429039ef/1e90bb64237c62ea07f92c4115837291.webp)
3.3.2Context API
![](https://filescdn.proginn.com/2420896e8937ccff0480beb15aa81958/502956b2c7980d3e5335c36fab415fc2.webp)
3.4错误边界
![](https://filescdn.proginn.com/c27335eddbe9f734fb4122706f6c65a3/f1200004458a9c998cd908ceed7aecea.webp)
3.5Refs 转发
![](https://filescdn.proginn.com/3b9811ff3efa3932883cd3ea45195f89/26463b23227191fbccf217259d038158.webp)
3.6Fragments
![](https://filescdn.proginn.com/04dde44cfb6fd73cdf4e31b9250cb00c/13976e8081ce424c459048863615d53e.webp)
3.7高阶组件
![](https://filescdn.proginn.com/6500b5faf23a80e30ab73dc6df7d0410/0be2530cd641d1b78ad88e759a8b0fbd.webp)
3.8.1集成带有 DOM 操作的插件
![](https://filescdn.proginn.com/8c6a86eb6606bf79131994379d63f232/7f84fab0fad64346f8baf6eaef2b2684.webp)
3.8.2与其他第三方库协同
![](https://filescdn.proginn.com/fd866eef92c60eaa106c4f98e1863850/60abbf4eb030cc5d720be4cd759220f8.webp)
3.9.1JSX 本质
![](https://filescdn.proginn.com/a416a22dad38e29c64ebc7f3e73192ec/3ddfc7fe7cfb19102655547c52262d18.webp)
3.9.2JSX 指定 React 元素类型
![](https://filescdn.proginn.com/8012a6aeeacd65765ee9c287e5ee8927/5a225bac03e4dbf972bf292b66be7769.webp)
3.9.3JSX 中指定 props
![](https://filescdn.proginn.com/ca227bb900ef6df1b979305e15f4a6a2/06b9244af3cf81633d866fef7601b5be.webp)
3.9.4JSX 中的子元素
![](https://filescdn.proginn.com/82f6a5f9d106bf248fb7620a1d55e164/ba1c5f4cfe88db6fe41ba4878f73d39e.webp)
3.10.1性能优化之生产版本
![](https://filescdn.proginn.com/83406803f86e07ca18bd930d1b1e4bf4/928c7f3e4a22635a47b0d2f0749a135e.webp)
3.10.2使用 Chrome Performance 标签分析组件
![](https://filescdn.proginn.com/0c78770f6b45ba87259b5cde57a9cf92/3358c1d7e615b1154d828b7b7a0515b8.webp)
3.10.3使用开发者工具中的分析器对组件进行分析
![](https://filescdn.proginn.com/00791fe4f1bc9b31462d0b33abfd55ad/88310726a03ab81a6a2010a1964ed418.webp)
3.10.4其他优化
![](https://filescdn.proginn.com/b04c3713a6f5cd0785d92f2fa6808557/a1cf34229154ef47282bea52e0bde19e.webp)
3.11Portals
![](https://filescdn.proginn.com/afddd14b80ed2d5d5ce445f1bfdf1e17/ec985109318d89a026fd10a8b8d04a6a.webp)
3.12Profiler API
![](https://filescdn.proginn.com/f79d9d12c597963b42f7bf50a60e5498/0f1ccb92aea7e9e84aa9a92922a58e14.webp)
3.13不使用 ES6
![](https://filescdn.proginn.com/f378203792e02394f75c3fd81e3bab80/909a8b8f353df8458f874d74dc560b3f.webp)
3.14不使用 JSX
![](https://filescdn.proginn.com/aa43ab880c62a4d4dc99b5a334fe9e1f/6f2a71d9167cddb20ceeec04bf1f60c9.webp)
[3.15协调
![](https://filescdn.proginn.com/694c59e9363e7465b77145aa0062ab26/f99f76d18f4805fdf227f0bb3a384c4d.webp)
3.16Refs & DOM
![](https://filescdn.proginn.com/1174bb157637658c7dcc6d853f8e07bf/fd2a48e42b1574b178c64706c0aeff75.webp)
3.17Render Props
![](https://filescdn.proginn.com/32d0cc1217a3b3db9e7339d3582a75c3/a2984a4ed72a8664a873423415c52cfe.webp)
3.18.1静态类型检查之Flow
![](https://filescdn.proginn.com/c8ab82276956a44aa8f6a4ef2b123bad/0fbb5e10c8290ce436201e33e67a6e60.webp)
3.18.2静态类型检查之TypeScript
![](https://filescdn.proginn.com/70dbbcebe43b486e1c2dd9332af7c00b/27e1acc3e005487508780b2dba61e5de.webp)
3.18.2静态类型检查之其他
![](https://filescdn.proginn.com/21f1793091960a49439078775fa7085b/c5aab71171fd344ec0455c90a91d2fb7.webp)
3.19严格模式
![](https://filescdn.proginn.com/19228572b9b1d32ff9cf1d972be5de36/d50bf7425798bcdae0a5b4451f4ac45b.webp)
3.20使用 PropTypes 进行类型检查
![](https://filescdn.proginn.com/88587462c62f3792b1701e6cffe067d2/524dff05c87b3fd77b52f4106a666f72.webp)
3.21非受控组件
![](https://filescdn.proginn.com/7712302ce8aaf8714c7e52712b6d565c/c6577698230cd588603d35b9416fcab7.webp)
3.22Web Components
![](https://filescdn.proginn.com/c7ed2c387011de00267b7e4d08942fb2/6fdfc4737a04bebd11e2591e37415164.webp)
4. API 参考
4.1.1React 顶层 API之概览
![](https://filescdn.proginn.com/6dccd56ee073d8475bea0936e6224ddd/915d6f3ebf287f76cf42c448b7edb214.webp)
4.1.2React 顶层 API之参考
![](https://filescdn.proginn.com/b409e6cfadd28ca9ef344623ef48fecc/d32e3af0f9dbf1eeb9b2e57748ba0c7e.webp)
4.1.3React 顶层 API之参考2
![](https://filescdn.proginn.com/b3d262fd20768b79e20472516f7ccc30/e5cc257cdad6fd9e2611fd967829f663.webp)
4.2.1React.Component之概述
![](https://filescdn.proginn.com/d884f10a8592f438301c8b4882c675ad/dabcb85edd01073d6561fd8d7c4032a9.webp)
4.2.2常用的生命周期方法
![](https://filescdn.proginn.com/887e4dec7ec5ecfd0ecc4149ece70d55/d6c3f5f6e85c5c7e53f90559825558e6.webp)
4.2.3不常用的生命周期方法
![](https://filescdn.proginn.com/31d081a14ed3c69432dbed9168f585c8/4000b09649852e583089f658a1a2ccf0.webp)
4.2.4其他 API
![](https://filescdn.proginn.com/da1ee95327a315916ead46d582636bae/f4c8cc8f00b65e00b685140f1b93aed8.webp)
4.2.5Class 属性和实例属性
![](https://filescdn.proginn.com/faf25e19fcd167e66b5f7317bbb00210/964694dc7a0d19100d7c9b6b944afe35.webp)
4.3ReactDOM
![](https://filescdn.proginn.com/31402983d6ccf8f8551f3d08aa7fb563/d95163ac6492d709b856200878ff1ba9.webp)
4.4ReactDOMClient
![](https://filescdn.proginn.com/4df6a183e2535f1b9d69b9e74a9ab8fb/68c82edc17255ade2127584658cdb26e.webp)
4.5ReactDOMServer
![](https://filescdn.proginn.com/fe9b5fdcf1f2c9bd3079c398422cb3a0/1fc861e593145269f42aab0d380660ae.webp)
4.6DOM 元素
![](https://filescdn.proginn.com/585064be1a1327296c00e70feb377089/76c5fd6707701fabc7aea31ccf135233.webp)
4.7.1合成事件
![](https://filescdn.proginn.com/9083a00fe30b36edfe282f4a493e4e33/c7351031f7b83973e74bb7bf9435b076.webp)
4.7.2支持的事件
![](https://filescdn.proginn.com/659ae0a6803df0757d0a49374d1825eb/acfc5f99da88450e84a74f1f29063f3e.webp)
4.7.3支持的事件2
![](https://filescdn.proginn.com/1a7f71ca782053350f699c255475b414/b61d4d4399e59b0a891a6ae8e945f977.webp)
4.7.4支持的事件3
![](https://filescdn.proginn.com/2f91001b7c015b81190c399d53438fe6/d9b522da502c6a7515730ac0c5654e79.webp)
4.8Test Utilities
![](https://filescdn.proginn.com/7ccbaa3a0a9e80d46a552d53e4376058/c55573c889cdb8eb759fa8347b0baf7a.webp)
4.9Test Renderer
![](https://filescdn.proginn.com/a200ee0f83aac8b82d1450c625d14b0d/39c87d2171d3a0a6e37c3b83d11d79f5.webp)
4.10JS 环境要求
![](https://filescdn.proginn.com/6accc8bd5e36a8259dffaac9a2d4015d/8b2de7ce9a9ed1e5bb538f3960a59a2c.webp)
4.11React 术语词
![](https://filescdn.proginn.com/6e96a9d7ab477160877c387f6d3023c5/13a90af34bc04576058add13969e64af.webp)
5. Hook
5.1Hook 简介
![](https://filescdn.proginn.com/7deff78969c9f714e795c438a0727f93/a955ff6cc75d7198fb9816bac1e3ec36.webp)
5.2Hook 概览
![](https://filescdn.proginn.com/67a32e287b7628e5f3be98f41f061238/44182350fddbccadb0b0e05ab3e66674.webp)
5.3使用 State Hook
![](https://filescdn.proginn.com/7f72c03132de92597146c93f3fe5557d/e15d0e2a32eae21b4ad38dd9acbb9ac2.webp)
5.4使用 Effect Hook
![](https://filescdn.proginn.com/3445bce1758ce26f6faba515402d67d1/56ceb4d5d101af9ac2571f741b04defe.webp)
5.5Hook 规则
![](https://filescdn.proginn.com/ac733ffc9189ad0841e982d0313db67d/be0e76e74fc3136c1497184408a8315d.webp)
5.6自定义
![](https://filescdn.proginn.com/ee2605e7f94e866f3ef01fe6426aabe2/2fd21eb931f56e13244aa02f0466372b.webp)
Hook API
![](https://filescdn.proginn.com/3326362afb6c3641bcf96f12d8bef3b9/76719d5aac919ceed26f7639175e7198.webp)
5.8.1Hooks FAQ之采纳策略
![](https://filescdn.proginn.com/e7bd3872ffacb9feeccb84fd7ccca8f7/78dfef8850b5160608f0ec7790b66aba.webp)
5.8.2Hooks FAQ之从 Class 迁移到 Hook
![](https://filescdn.proginn.com/ca656bcd2610942e027d96e435fb5ae3/11f2a5c8c7748008e82d7457ca39fe93.webp)
5.8.3Hooks FAQ之性能优化
![](https://filescdn.proginn.com/58280549e9351c2cdd28a721934567a2/6c44acd565eab356146c179d846512e2.webp)
5.8.4Hooks FAQ之底层原理
![](https://filescdn.proginn.com/78aa612dede74d48ee73e54d15efc613/02aeaea059e21f517fd87427b2fe6950.webp)
6. 测试
6.1测试概览
![](https://filescdn.proginn.com/11d1f913f7c6e9037fed94f4c20daf51/0f94cde8a7fae479d459b910511ccbb7.webp)
6.2测试技巧
![](https://filescdn.proginn.com/27ae24e7ee2631572dadcf428f5ea9cd/01537b398ed26e05cdee47b790663626.webp)
6.3测试环境
![](https://filescdn.proginn.com/b712d81bed2a78804fb936bc25795b15/7219b980716eb3b5fb429ec305036041.webp)
7. FAQ
7.1AJAX 及 APIs
![](https://filescdn.proginn.com/782625aa07ae3e26392846f3a0b94060/cd2e5b9d8a395896840b2ed025ef9f1b.webp)
7.2Babel,JSX 及构建过程
![](https://filescdn.proginn.com/b617f4023a157f8b8851a26bb5a22609/b6dae7537ad1100049393c4eda331baa.webp)
7.3传递函数给组件
![](https://filescdn.proginn.com/5574fd6bb8a1dbfb44feec7eececcacb/f1c3ae05bf1378effb1c5ec16c3ebd6b.webp)
[7.4组件状态.png
![](https://filescdn.proginn.com/c15f9bce8a43a7964ef80e1d182d9034/1df64f607b3863c779082bb2c7751830.webp)
7.5样式与 CSS.png
![](https://filescdn.proginn.com/83a4240867b1b3774037957188d63efa/d7b5f659fa2dc715a1ef54039913b45e.webp)
7.6项目文件结构
![](https://filescdn.proginn.com/353890374f69f130e526defaf356518e/c521825b214fe69b32cc06decc4d8fd8.webp)
7.7Virtual DOM 及内核
![](https://filescdn.proginn.com/b69be52f366b2359cfd4df472a1b913f/1fcc2b11b9571ba7fa3f819cc3f05369.webp)
结语
以上是本文的所有内容,如有问题欢迎指正 💕
作者:LBJ
原文:https://juejin.cn/post/7085145274200358949
参考资料
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
![](https://filescdn.proginn.com/d596571fa4b338dfdca76ee8913b6c89/6291ae346a0f3f43a544d9fcb17606cb.webp)
往期推荐
![](https://filescdn.proginn.com/9731b91d33ab2bce2780e325b5e7ed2e/bf82b4957bf254dbf35a4cff447f8991.webp)
![](https://filescdn.proginn.com/e0afdfd54a0ccbc3e408fc23fd638e40/fbf4bd5eb8b1eafcf59716f07d5c6dbd.webp)
![](https://filescdn.proginn.com/e0afdfd54a0ccbc3e408fc23fd638e40/fbf4bd5eb8b1eafcf59716f07d5c6dbd.webp)
最后
欢迎加我微信,拉你进技术群,长期交流学习...
欢迎关注「前端Q」,认真学前端,做个专业的技术人...
![](https://filescdn.proginn.com/4d1f9659db11719e8df063f491e62130/ae3f0c3832dde98cd92175dbe46ef9d5.webp)
![](https://filescdn.proginn.com/dbd62e145623dee47fbde52d8a3f5a01/296f75ce7970cca3673c66663f6b2236.webp)
评论