René's URL Explorer Experiment


Title: GitHub - raindrop93/mini-react: 基于 react17.0.2 手写 mini-react,附带实现 hooks 功能

Open Graph Title: GitHub - raindrop93/mini-react: 基于 react17.0.2 手写 mini-react,附带实现 hooks 功能

X Title: GitHub - raindrop93/mini-react: 基于 react17.0.2 手写 mini-react,附带实现 hooks 功能

Description: 基于 react17.0.2 手写 mini-react,附带实现 hooks 功能. Contribute to raindrop93/mini-react development by creating an account on GitHub.

Open Graph Description: 基于 react17.0.2 手写 mini-react,附带实现 hooks 功能. Contribute to raindrop93/mini-react development by creating an account on GitHub.

X Description: 基于 react17.0.2 手写 mini-react,附带实现 hooks 功能. Contribute to raindrop93/mini-react development by creating an account on GitHub.

Opengraph URL: https://github.com/raindrop93/mini-react

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository
route-controllerfiles
route-actiondisambiguate
fetch-noncev2:54b8d42c-211d-0ea9-35e0-e723c448fc3a
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-idB66A:1DCFFA:2835D8:37DA3D:697887AF
html-safe-nonce07220211f01b90a02cb0e771bbdd03b5c396fae18d6938fe1e1186c519448b33
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNjZBOjFEQ0ZGQToyODM1RDg6MzdEQTNEOjY5Nzg4N0FGIiwidmlzaXRvcl9pZCI6IjE5OTA5NzE0OTM4NjAyODAyMzkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmaca71e3c0f36d6da97ed114f31efaae3a381d3f41f000fec82d5ccdb286f3eba36
hovercard-subject-tagrepository:788738014
github-keyboard-shortcutsrepository,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location//
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/raindrop93/mini-react
twitter:imagehttps://opengraph.githubassets.com/886c434be30c2b646dfb8508f9ea1a02b9945485d9df1f9ec650e8baf92d6fea/raindrop93/mini-react
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/886c434be30c2b646dfb8508f9ea1a02b9945485d9df1f9ec650e8baf92d6fea/raindrop93/mini-react
og:image:alt基于 react17.0.2 手写 mini-react,附带实现 hooks 功能. Contribute to raindrop93/mini-react development by creating an account on GitHub.
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None2981c597c945c1d90ac6fa355ce7929b2f413dfe7872ca5c435ee53a24a1de50
turbo-cache-controlno-preview
go-importgithub.com/raindrop93/mini-react git https://github.com/raindrop93/mini-react.git
octolytics-dimension-user_id11533153
octolytics-dimension-user_loginraindrop93
octolytics-dimension-repository_id788738014
octolytics-dimension-repository_nworaindrop93/mini-react
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forktrue
octolytics-dimension-repository_parent_id421437062
octolytics-dimension-repository_parent_nwozh-lx/mini-react
octolytics-dimension-repository_network_root_id421437062
octolytics-dimension-repository_network_root_nwozh-lx/mini-react
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release73a426593e896c8afeb40b1706b74d04068aca2d
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/raindrop93/mini-react#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fraindrop93%2Fmini-react
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fraindrop93%2Fmini-react
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=raindrop93%2Fmini-react
Reloadhttps://patch-diff.githubusercontent.com/raindrop93/mini-react
Reloadhttps://patch-diff.githubusercontent.com/raindrop93/mini-react
Reloadhttps://patch-diff.githubusercontent.com/raindrop93/mini-react
raindrop93 https://patch-diff.githubusercontent.com/raindrop93
mini-reacthttps://patch-diff.githubusercontent.com/raindrop93/mini-react
zh-lx/mini-reacthttps://patch-diff.githubusercontent.com/zh-lx/mini-react
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fraindrop93%2Fmini-react
Fork 0 https://patch-diff.githubusercontent.com/login?return_to=%2Fraindrop93%2Fmini-react
Star 0 https://patch-diff.githubusercontent.com/login?return_to=%2Fraindrop93%2Fmini-react
0 stars https://patch-diff.githubusercontent.com/raindrop93/mini-react/stargazers
26 forks https://patch-diff.githubusercontent.com/raindrop93/mini-react/forks
Branches https://patch-diff.githubusercontent.com/raindrop93/mini-react/branches
Tags https://patch-diff.githubusercontent.com/raindrop93/mini-react/tags
Activity https://patch-diff.githubusercontent.com/raindrop93/mini-react/activity
Star https://patch-diff.githubusercontent.com/login?return_to=%2Fraindrop93%2Fmini-react
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fraindrop93%2Fmini-react
Code https://patch-diff.githubusercontent.com/raindrop93/mini-react
Pull requests 0 https://patch-diff.githubusercontent.com/raindrop93/mini-react/pulls
Actions https://patch-diff.githubusercontent.com/raindrop93/mini-react/actions
Projects 0 https://patch-diff.githubusercontent.com/raindrop93/mini-react/projects
Security 0 https://patch-diff.githubusercontent.com/raindrop93/mini-react/security
Insights https://patch-diff.githubusercontent.com/raindrop93/mini-react/pulse
Code https://patch-diff.githubusercontent.com/raindrop93/mini-react
Pull requests https://patch-diff.githubusercontent.com/raindrop93/mini-react/pulls
Actions https://patch-diff.githubusercontent.com/raindrop93/mini-react/actions
Projects https://patch-diff.githubusercontent.com/raindrop93/mini-react/projects
Security https://patch-diff.githubusercontent.com/raindrop93/mini-react/security
Insights https://patch-diff.githubusercontent.com/raindrop93/mini-react/pulse
Brancheshttps://patch-diff.githubusercontent.com/raindrop93/mini-react/branches
Tagshttps://patch-diff.githubusercontent.com/raindrop93/mini-react/tags
https://patch-diff.githubusercontent.com/raindrop93/mini-react/branches
https://patch-diff.githubusercontent.com/raindrop93/mini-react/tags
20 Commitshttps://patch-diff.githubusercontent.com/raindrop93/mini-react/commits/main/
https://patch-diff.githubusercontent.com/raindrop93/mini-react/commits/main/
publichttps://patch-diff.githubusercontent.com/raindrop93/mini-react/tree/main/public
publichttps://patch-diff.githubusercontent.com/raindrop93/mini-react/tree/main/public
srchttps://patch-diff.githubusercontent.com/raindrop93/mini-react/tree/main/src
srchttps://patch-diff.githubusercontent.com/raindrop93/mini-react/tree/main/src
.gitignorehttps://patch-diff.githubusercontent.com/raindrop93/mini-react/blob/main/.gitignore
.gitignorehttps://patch-diff.githubusercontent.com/raindrop93/mini-react/blob/main/.gitignore
README.mdhttps://patch-diff.githubusercontent.com/raindrop93/mini-react/blob/main/README.md
README.mdhttps://patch-diff.githubusercontent.com/raindrop93/mini-react/blob/main/README.md
package.jsonhttps://patch-diff.githubusercontent.com/raindrop93/mini-react/blob/main/package.json
package.jsonhttps://patch-diff.githubusercontent.com/raindrop93/mini-react/blob/main/package.json
yarn.lockhttps://patch-diff.githubusercontent.com/raindrop93/mini-react/blob/main/yarn.lock
yarn.lockhttps://patch-diff.githubusercontent.com/raindrop93/mini-react/blob/main/yarn.lock
READMEhttps://patch-diff.githubusercontent.com/raindrop93/mini-react
https://patch-diff.githubusercontent.com/raindrop93/mini-react#前言必看
commit记录https://github.com/zh-lx/mini-react/commits/main
https://camo.githubusercontent.com/020f5fa5e466209691c8a09f0b25ff0eb88682224c145397ab48d25b8f07ca0b/68747470733a2f2f70312d6a75656a696e2e62797465696d672e636f6d2f746f732d636e2d692d6b3375316662706663702f35386262386363336161633034633363613630386134613066653837373530347e74706c762d6b3375316662706663702d77617465726d61726b2e696d6167653f
一: 初始化项目 👉https://github.com/zh-lx/mini-react/commit/2fbbb63bf6686fd301f1418dc07a6bfe255db895
https://patch-diff.githubusercontent.com/raindrop93/mini-react#一-初始化项目-
https://camo.githubusercontent.com/a20e9b94468a72ab5be40bff301350450f7963295956353a044dd8d8fc11832a/68747470733a2f2f70312d6a75656a696e2e62797465696d672e636f6d2f746f732d636e2d692d6b3375316662706663702f39356237373735643235363034613132613463653537643130303831666631667e74706c762d6b3375316662706663702d77617465726d61726b2e696d6167653f
https://patch-diff.githubusercontent.com/raindrop93/mini-react#二-实现-reactdomrender
jsx 转换及 React.createElementhttps://juejin.cn/post/7015855371847729166
创建 ReactDOM.render 👉https://github.com/zh-lx/mini-react/commit/a844706548f3708b7b4ba1647edb67beacf3425c
https://patch-diff.githubusercontent.com/raindrop93/mini-react#创建-reactdomrender-
根据 React.element 创建 dom 👉https://github.com/zh-lx/mini-react/commit/b5ef737086a416d8daf6546f3c7765e73a412413
https://patch-diff.githubusercontent.com/raindrop93/mini-react#根据-reactelement-创建-dom-
jsx 转换及 React.createElementhttps://juejin.cn/post/7015855371847729166#heading-3
https://camo.githubusercontent.com/ae8659f93330eeace07e2ee15e923bb64e6ecc24bb996ae395122594775c6683/68747470733a2f2f70332d6a75656a696e2e62797465696d672e636f6d2f746f732d636e2d692d6b3375316662706663702f33333134373636383430363734373137616161653365346333376566303331657e74706c762d6b3375316662706663702d77617465726d61726b2e696d6167653f
https://camo.githubusercontent.com/edb11ef2618b6193b877663037212d652ab8d4a6e824f8ce00b5b51cbb982727/68747470733a2f2f70332d6a75656a696e2e62797465696d672e636f6d2f746f732d636e2d692d6b3375316662706663702f63346131396263323637373234663136626362386536626464323262336563667e74706c762d6b3375316662706663702d77617465726d61726b2e696d6167653f
更新 dom 属性 👉https://github.com/zh-lx/mini-react/commit/79a61e710053bcbe58e7bdaf2f3295654a49f904
https://patch-diff.githubusercontent.com/raindrop93/mini-react#更新-dom-属性-
https://camo.githubusercontent.com/7e805881d9207f68d6f039b61c25bc136e4066085549b7c08fbe1c2519b7557b/68747470733a2f2f70312d6a75656a696e2e62797465696d672e636f6d2f746f732d636e2d692d6b3375316662706663702f36313665373631653164386534643639613435363539656635313734333362617e74706c762d6b3375316662706663702d77617465726d61726b2e696d6167653f
https://camo.githubusercontent.com/919cc36bc6dab914e07d37515ca87e10e4bb720e008cd02dea9692f3aa88bc5c/68747470733a2f2f70312d6a75656a696e2e62797465696d672e636f6d2f746f732d636e2d692d6b3375316662706663702f37623438363538336639333934373561616462363532626666353235326562667e74706c762d6b3375316662706663702d77617465726d61726b2e696d6167653f
https://patch-diff.githubusercontent.com/raindrop93/mini-react#三-实现-fiber-架构
深入理解 fiberhttps://juejin.cn/post/7016512949330116645
深入理解 fiberhttps://juejin.cn/post/7016512949330116645
https://camo.githubusercontent.com/1e18490c0695ab057bb6dd325e501bace2dc385f8aefb4bd6df1086783c44158/68747470733a2f2f70312d6a75656a696e2e62797465696d672e636f6d2f746f732d636e2d692d6b3375316662706663702f63333538633865363034643134313438383563646237633234353638353938617e74706c762d6b3375316662706663702d77617465726d61726b2e696d6167653f
创建 rootFiber 和 nextUnitOfWork 👉https://github.com/zh-lx/mini-react/commit/c6441df9abef4eb09f65be2809789d2cd77d44e2
https://patch-diff.githubusercontent.com/raindrop93/mini-react#创建-rootfiber-和-nextunitofwork-
递归改成迭代 👉https://github.com/zh-lx/mini-react/commit/e6967c0374060eb110e83469e1b696c6ffc38855
https://patch-diff.githubusercontent.com/raindrop93/mini-react#递归改成迭代-
https://patch-diff.githubusercontent.com/raindrop93/mini-react#去掉递归逻辑
https://patch-diff.githubusercontent.com/raindrop93/mini-react#根据-fiber-创建-dom
https://patch-diff.githubusercontent.com/raindrop93/mini-react#构造-fiber-树
https://patch-diff.githubusercontent.com/raindrop93/mini-react#设置下一个工作单元
创建 workLoop 👉https://github.com/zh-lx/mini-react/commit/5b5c5faa7faa354d091dff1ae7e3c4cab1128322
https://patch-diff.githubusercontent.com/raindrop93/mini-react#创建-workloop-
requestIdleCallbackhttps://developer.mozilla.org/zh-CN/docs/Web/API/Window/requestIdleCallback
四: render 和 commit 分离 👉https://github.com/zh-lx/mini-react/commit/fce38e53a0980deaab6685f9c2073c2e5058d1a8
https://patch-diff.githubusercontent.com/raindrop93/mini-react#四-render-和-commit-分离-
https://patch-diff.githubusercontent.com/raindrop93/mini-react#五-diff-算法--实现更新和删除
全面理解 diff 算法https://juejin.cn/post/7020595059095666724
current 和 workInProgess 👉https://github.com/zh-lx/mini-react/commit/50a52fbb70b5e126eca4a479ad189237889234db
https://patch-diff.githubusercontent.com/raindrop93/mini-react#current-和-workinprogess-
深入理解 fiberhttps://juejin.cn/post/7016512949330116645
创建 reconciler 👉https://github.com/zh-lx/mini-react/commit/7eebaac428789ea2048c92661636378d686b42c7
https://patch-diff.githubusercontent.com/raindrop93/mini-react#创建-reconciler-
diff 并添加 flag 👉https://github.com/zh-lx/mini-react/commit/538421d67d76e2e48ee5fcadbb0369a19fe963cc
https://patch-diff.githubusercontent.com/raindrop93/mini-react#diff-并添加-flag-
Placement —— 添加 dom 👉https://github.com/zh-lx/mini-react/commit/d5d5f6e360417c8f4ff537270f84b0704742bd0f
https://patch-diff.githubusercontent.com/raindrop93/mini-react#placement--添加-dom-
Update —— 更新 dom 👉https://github.com/zh-lx/mini-react/commit/bc9053286848749fb9d1b0cbdd2c18f0b7daad76
https://patch-diff.githubusercontent.com/raindrop93/mini-react#update--更新-dom-
Deletion —— 删除 dom 👉https://github.com/zh-lx/mini-react/commit/5592e5f32743cbfc7066a87f3a3a85a6754f33e7
https://patch-diff.githubusercontent.com/raindrop93/mini-react#deletion--删除-dom-
https://patch-diff.githubusercontent.com/raindrop93/mini-react#检查效果
https://patch-diff.githubusercontent.com/raindrop93/mini-react#代码
https://patch-diff.githubusercontent.com/raindrop93/mini-react#预览
https://camo.githubusercontent.com/54e5ac152374fb0774808bb38da13636b459e46ea91cdcc36cfb1e27ac24b86f/68747470733a2f2f70392d6a75656a696e2e62797465696d672e636f6d2f746f732d636e2d692d6b3375316662706663702f65333034356339653038653034366332393234373139353537343536653132397e74706c762d6b3375316662706663702d77617465726d61726b2e696d6167653f
https://patch-diff.githubusercontent.com/raindrop93/mini-react#六-实现-reactcomponent
完善类组件功能 👉https://github.com/zh-lx/mini-react/commit/6144a2d43143c6860ccb7a48182a1430ee07b1e7
https://patch-diff.githubusercontent.com/raindrop93/mini-react#完善类组件功能-
实现 setState 👉https://github.com/zh-lx/mini-react/commit/a0e9d46e2f3185e48f1edbd4601c291fdbb149af
https://patch-diff.githubusercontent.com/raindrop93/mini-react#实现-setstate-
https://patch-diff.githubusercontent.com/raindrop93/mini-react#效果预览
https://camo.githubusercontent.com/42fc12c83aed6f7330356ec76ffe6c4612fdedefc958990ff5eb24f8fd4c06c4/68747470733a2f2f70392d6a75656a696e2e62797465696d672e636f6d2f746f732d636e2d692d6b3375316662706663702f34626565303236616133316334373134626463393132343564306165363137307e74706c762d6b3375316662706663702d77617465726d61726b2e696d6167653f
七: 实现 hooks 👉https://github.com/zh-lx/mini-react/commit/b796bca22792a598b9ac499ecdf9748d2f25aadf
https://patch-diff.githubusercontent.com/raindrop93/mini-react#七-实现-hooks-
https://patch-diff.githubusercontent.com/raindrop93/mini-react#完善函数组件功能
https://patch-diff.githubusercontent.com/raindrop93/mini-react#实现-usestate
https://patch-diff.githubusercontent.com/raindrop93/mini-react#效果预览-1
https://camo.githubusercontent.com/09b5eff4217898c4033eef8f0a92261e4b12cd113b65969b3451da9833e36701/68747470733a2f2f70312d6a75656a696e2e62797465696d672e636f6d2f746f732d636e2d692d6b3375316662706663702f62633436643437653664623534613431626233333730323236626365356366657e74706c762d6b3375316662706663702d77617465726d61726b2e696d6167653f
https://patch-diff.githubusercontent.com/raindrop93/mini-react#总结
mini reacthttps://github.com/zh-lx/mini-react
react17源码专栏https://juejin.cn/column/7014776835166699556
Readme https://patch-diff.githubusercontent.com/raindrop93/mini-react#readme-ov-file
Please reload this pagehttps://patch-diff.githubusercontent.com/raindrop93/mini-react
Activityhttps://patch-diff.githubusercontent.com/raindrop93/mini-react/activity
0 starshttps://patch-diff.githubusercontent.com/raindrop93/mini-react/stargazers
0 watchinghttps://patch-diff.githubusercontent.com/raindrop93/mini-react/watchers
0 forkshttps://patch-diff.githubusercontent.com/raindrop93/mini-react/forks
Report repository https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fraindrop93%2Fmini-react&report=raindrop93+%28user%29
Releaseshttps://patch-diff.githubusercontent.com/raindrop93/mini-react/releases
Packages 0https://patch-diff.githubusercontent.com/users/raindrop93/packages?repo_name=mini-react
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.