{"id":29374639,"url":"https://github.com/sunsunmonkey/sun-react","last_synced_at":"2025-07-19T20:09:55.826Z","repository":{"id":190902577,"uuid":"683555503","full_name":"sunsunmonkey/sun-react","owner":"sunsunmonkey","description":"mini-react   ⚛️","archived":false,"fork":false,"pushed_at":"2024-03-24T03:05:42.000Z","size":246,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-03-24T15:46:32.121Z","etag":null,"topics":["mini-react","react-18"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sunsunmonkey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-08-27T00:23:16.000Z","updated_at":"2024-03-24T15:46:32.122Z","dependencies_parsed_at":"2023-08-27T02:44:36.383Z","dependency_job_id":"b20c0816-62db-4034-ad41-23122bd6ace8","html_url":"https://github.com/sunsunmonkey/sun-react","commit_stats":null,"previous_names":["sunsunmonkey/sun-react"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sunsunmonkey/sun-react","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsunmonkey%2Fsun-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsunmonkey%2Fsun-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsunmonkey%2Fsun-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsunmonkey%2Fsun-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sunsunmonkey","download_url":"https://codeload.github.com/sunsunmonkey/sun-react/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsunmonkey%2Fsun-react/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264502621,"owners_count":23618658,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mini-react","react-18"],"created_at":"2025-07-09T20:10:04.583Z","updated_at":"2025-07-09T20:10:07.890Z","avatar_url":"https://github.com/sunsunmonkey.png","language":"TypeScript","readme":"# sun-react\r\n\r\n接近官方的手写react ⚛️\r\n\r\n[解析流程文章12篇](./article/) \r\n\r\n- [jsx](./article/jsx.md)\r\n- [mount](./article/mount.md)\r\n- [Hook架构](./article/Hook-infra.md)\r\n- [useState](./article/useState.md)\r\n- [useEffect](./article/useEffect.md)\r\n- [useTransition](./article/useTransition.md)\r\n- [useRef](./article/useRef.md)\r\n- [useContext](./article/useContext.md)\r\n- [Scheduler](./article/Scheduler.md)\r\n- [update和diff](./article/update_diff.md)\r\n- [并发更新](./article/concurrent.md) \r\n- [性能优化](./article/performance.md)\r\n  \r\n\u003cbr\u003e\r\n\r\n✅ 实现和原版react一致的事件机制\r\n\r\n✅ 实现完整的render，commit流程\r\n\r\n✅ 单节点和多节点的diff\r\n\r\n✅ 实现并发更新流程\r\n\r\n✅ 实现Hook架构，同时实现hook有( useState , useEffect , useTransition , useRef , useContext  )\r\n\r\n✅ 接入Scheduler调度流程\r\n\r\n✅ 接入lane模型\r\n\r\n✅ 实现bailout和eagerState的性能优化策略\r\n\r\n✅ 实现与宿主环境无关的noop-render\r\n\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsunmonkey%2Fsun-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunsunmonkey%2Fsun-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsunmonkey%2Fsun-react/lists"}