一系列关于 React 生态系统的精彩内容。
成为 React 高手的 20 个 GitHub 代码库
React 模式
30 天 React 学习计划
真实世界的 React 应用
React Bits
TypeScript 中的 React 和 Redux - 完整指南
🚀 超棒的 React 组件和库
👍
react-use
使用钩子
React+TypeScript 速查表
React面试题及答案
30秒代码
React/Redux链接
React 开发者路线图
超棒的 React 钩子
超棒的 Next.js

如果你刚开始学习 React,这篇文章非常值得你花时间阅读并收藏。这 20 个 React GitHub 代码库无疑会帮助你成为 React 高手。
目录
- 超棒的 React ⭐ GitHub Stars:49k+
- React 模式⭐ GitHub 星标:11k+
- 30 天 React 学习计划
- 真实世界的 React 应用
- React Bits
- TypeScript 中的 React 和 Redux 完全指南
- 超棒的 React 组件
- 钩子
- 漂亮的 React Hooks
- React 使用
- 使用钩子
- React TypeScript 速查表
- ReactJS 编码挑战
- React面试题及答案
- 30 秒反应时间
- React Hooks 速查表
- React/Redux链接
- React 开发者路线图
- 超棒的 React Hooks
- 超棒的 Next.js
超棒的 React
⭐ GitHub 星标:49k+
一系列关于 React 生态系统的精彩内容。
React 模式
⭐ GitHub 星标数:11k+
📚 一本关于使用React进行开发时使用的设计模式/技术的免费书籍。
krasimir / react-in-patterns
一本免费书籍,讨论了在使用 React 进行开发时使用的设计模式/技术。
30 天 React 学习计划
⭐ GitHub 星标:4000+
“30 天 React 挑战”是一份循序渐进的 React 学习指南,指导你如何在 30 天内掌握 React。它需要你具备 HTML、CSS 和 JavaScript 的知识。最好在开始学习 React 之前就熟悉 JavaScript。
Asabeneh / 30天反应
“30 天 React 挑战”是一个循序渐进的指南,帮助你在 30 天内学会 React。以下视频也可能对你有所帮助:https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
| # 天 | 主题 |
|---|---|
| 00 | 简介 如何使用仓库 要求 设置 |
| 01 | JavaScript 复习 |
| 02 | React入门 |
| 03 | 设置 |
| 04 | 成分 |
| 05 | 道具 |
| 06 | 列表、地图和图例 |
| 07 | 类组件 |
| 08 | 各州 |
| 09 | 条件渲染 |
| 10 | React项目文件夹结构 |
| 11 | 活动 |
| 12 | 表格 |
| 13 | 受控组件和非受控组件 |
| 14 | 组件生命周期 |
| 15 | 第三方软件包 |
| 16 | 高阶分量 |
| 17 | React Router |
| 18 | Fetch 与 Axios |
| 19 | 项目 |
| 20 | 项目 |
| 21 | 钩子 |
| 22 | 使用钩子 |
| 23 | 使用钩子获取数据 |
| 24 | 使用 Hooks 进行项目 |
| 25 | 定制挂钩 |
| 26 | 语境 |
| 27 | 参考 |
| 28 | 项目 |
| 29 | 探索 |
| 30 | 结论 |
🧡🧡🧡 编程愉快 🧡🧡🧡
真实世界的 React 应用
⭐ GitHub 星标数:2000+
供开发者学习的真实 React 应用及其开源代码库。
jeromedalbert /真实世界的 React 应用
真实的 React 应用及其开源代码库,供开发者学习。
真实世界的 React 应用
真实的 React 应用及其开源代码库,供开发者学习。
向经验丰富的开发者编写的 React 应用学习。
您可以在子目录中找到应用程序的源代码apps/。
感谢所有参与过此仓库所链接项目的开发者,你们的工作正在帮助开发者学习 React。
如何在电脑上安装
# Clone this git repo:
git clone git@github.com:jeromedalbert/real-world-react-apps.git
cd real-world-react-apps/
# The apps are linked to as git submodules.
# This will take some time... (see comment below for possible speedup)
git submodule update --init
# OR if you've got git 2.9+ installed try to run updates in parallel:
# git submodule update --init --jobs 4
如何分析这些应用
下面的一些示例使用了ag,但也可以使用 grep 或等效命令。
全球搜索
# Look for…
React Bits
⭐ GitHub 星标数:12k+
✨ React 模式、技巧、提示和窍门 ✨
vasanthk / react-bits
✨ React 模式、技巧和窍门 ✨
React模式、技巧、提示和窍门的汇编。
Gitbook 格式:https://vasanthk.gitbooks.io/react-bits
Github仓库:https://github.com/vasanthk/react-bits
您的贡献我们衷心欢迎♡。(✿◠‿◠)
社区翻译:
- 中文版(Chinese):react-bits-cn
- 한국어(韩语):react-bits-ko
- 设计模式与技巧
- 反模式
- 处理用户体验差异
- 穿孔技巧
- 造型
TypeScript 中的 React 和 Redux 完全指南
⭐ GitHub 星标数:12k+
本文全面介绍了如何在 React 和 Redux 应用中使用 TypeScript 处理静态输入。教程详细讲解了使用 TypeScript 以函数式编程方式驾驭 React(及其生态系统)的关键模式和技巧。它将帮助您编写完全类型安全的代码,并专注于从实现中推断类型。
piotrwitek / react-redux-typescript-guide
使用 TypeScript 在 React 和 Redux 应用中实现静态类型化的完整指南
TypeScript 中的 React 和 Redux - 完整指南
“本指南是一部不断更新的汇编,记录了使用TypeScript以函数式风格使用React(及其生态系统)的最重要模式和方法。它将帮助你编写完全类型安全的代码,同时专注于从实现中推断类型,从而减少因过多类型注解而产生的噪音,并使编写和维护正确的类型变得更加容易。”
觉得有用吗?想了解更多更新内容?
什么是新的?
🎉现已更新,支持TypeScript v4.6 🎉 🚀 _已更新至typesafe-actions@5.x🚀
目标
- 完全的类型安全(带
--strict标志),不会在应用程序的所有层级中丢失类型信息(例如,不使用类型断言或any类型修改)。 - 利用 TypeScript 语言的高级特性(例如类型推断等),消除类型中的冗余,使类型注解更加简洁。
超棒的 React 组件
⭐ GitHub 星标数:3000+
这是一个非常棒的组件列表。当然,这并非囊括所有 React 组件的完整列表。那么,“非常棒”究竟意味着什么呢?嗯:
- 它解决了一个实际存在的问题。
- 它以一种不同寻常、引人入胜或非凡的方式完成任务。(而且它并不广为人知或流行……所以没必要列出来。)
- 它最近提交了代码!
- 对于真正优秀的作品,请寻找 a。此外,请留意几条注释列表后(斜体括号内)的快速维护者评论和评价。
brillout / awesome-react-components
精选 React 组件和库列表。
🚀 超棒的 React 组件和库
这是一份超棒的组件列表。注意,它并非囊括所有 React 组件的完整列表。那么,“超棒”究竟意味着什么呢?嗯:
- 它解决了一个实际问题。
- 它以一种独特、美丽或卓越的方式做到这一点。(而且它并不十分流行或广为人知……所以就不一一列举了。)
- 它有最新的代码提交记录!
留意带有🚀标记的优秀项目。在一些值得关注的项目列表中,还可以查看维护者在列表末尾(斜体括号内)提供的简要评论和评价。
维护者:
- @petebray , Fluxguard的作者——监控生产网站的变化。
- @brillout , vite-plugin-ssr(类似于 Next.js / Nuxt,但作为专注于做好一件事的 Vite 插件)和Telefunc(远程函数而不是 API)的作者。
贡献
请阅读我们的贡献指南。为了保持列表的更新,我们要求所有 PR 都必须从列表中删除一个或多个不优秀的条目……
钩子
⭐ GitHub 星标数:10k+
一个高质量且可靠的 React Hooks 库。
- 易于学习和使用
- 支持 SSR
- 针对特定功能进行特殊处理,避免闭合问题
- 它包含大量根据业务场景改进的高级钩子。
- 包含一系列裸钩
- 使用 TypeScript 编写,具有可预测的静态类型
📚 文档
✨ 特点
- 易于学习和使用
- 支持 SSR
- 针对特定功能进行特殊处理,避免闭合问题
- 包含大量根据业务场景优化的高级钩子
- 包含一系列基础钩子
- 使用 TypeScript 编写,具有可预测的静态类型
📦 安装
$ npm install --save ahooks
# or
$ yarn add ahooks
# or
$ pnpm add ahooks
# or
$ bun add ahooks
🔨 用法
import { useRequest } from 'ahooks';
💻 在线演示
🤝 贡献
$ git clone git@github.com:alibaba/hooks.git
$ cd hooks
$ pnpm run init
$ pnpm start
打开浏览器并访问http://127.0.0.1:8000
我们欢迎所有贡献,请先阅读我们的CONTRIBUTING.MD文件,让我们一起构建一个更好的 hooks 库。
感谢所有贡献者:
👥 讨论
漂亮的 React Hooks
⭐ GitHub 星标数:5.7k+
一系列美观且(希望)实用的 React Hooks,可帮助您更快地编写组件和 Hooks。
antonioru / beautiful-react-hooks
🔥 一系列精美且(希望)实用的 React Hooks,助您加速组件和 Hooks 的开发 🔥
一系列量身定制的 React Hooks,旨在增强您的开发流程并加快开发速度。
🇬🇧 英语 | 🇨🇳 简体中文| 🇮🇹 意大利语| 🇪🇸 西班牙语| 🇺🇦 乌克兰语| 🇧🇷 巴西葡萄牙语| 🇵🇱 波兰| 🇯🇵 日本语| 🇹🇷 土耳其
💡 为什么?
自定义 React Hooks 允许开发者将组件的业务逻辑抽象成单个可复用的函数。
我注意到,我创建并与其他项目共享的许多 Hooks 都涉及回调、引用、事件以及组件生命周期管理。
因此,我创建了 [此处应填写具体项目名称],这是一个实用的React Hooksbeautiful-react-hooks集合,可以帮助其他开发者加快开发流程。 此外,我致力于创建一个简洁实用的 API,强调代码可读性,同时尽可能降低学习难度,使其适合大型团队使用和共享。——请在使用前阅读……
React 使用
⭐ GitHub 星标数:3万+
包含大量自定义 React Hooks 的必备集合,并附有完整的文档。
- 传感器
useBattery— 跟踪设备电池状态。useGeolocation— 跟踪用户设备的地理位置状态。useHover并且useHoverDirty— 跟踪鼠标悬停在某个元素上的状态。useHash— 跟踪位置哈希值。useIdle— 跟踪用户是否处于不活跃状态。useIntersection— 跟踪 HTML 元素的交点。useKey,,,useKeyPress和useKeyboardJs—useKeyPressEvent轨道键。useLocation并useSearchParam跟踪页面导航栏位置状态。useLongPress— 跟踪某个元素的长按手势。useMedia— 跟踪 CSS 媒体查询的状态。useMediaDevices— 跟踪已连接硬件设备的状态。useMotion— 跟踪设备运动传感器的状态。useMouse并useMouseHovered跟踪鼠标位置状态。useMouseWheel— 跟踪鼠标滚轮滚动的Y轴偏移量。useNetworkState— 跟踪浏览器的网络连接状态。useOrientation— 曲目…
使用钩子
⭐ GitHub 星标数:3.6k+
易于理解的 React Hook 代码示例。
使用钩子
ui.dev团队出品的一系列现代化的、服务器安全的 React hooks 。
兼容 React v18.0.0+。
标准
安装
npm i @uidotdev/usehooks
钩子
- 使用电池
- 使用ClickAway
- 使用复制到剪贴板
- 使用计数器
- 使用防抖
- 使用默认值
- 使用文档标题
- 使用网站图标
- 使用地理位置
- 使用历史状态
- 使用鼠标悬停
- useIdle
- 使用交叉观察器
- 使用 IsClient
- 使用 IsFirstRender
- 使用列表
- 使用本地存储
- 使用锁定身体滚动
- 使用长按
- 使用地图
- 使用测量
- 使用媒体查询
- 使用鼠标
- 使用网络状态
- 使用对象状态
- 使用方向
- 使用首选语言
- 使用上一个
- 使用队列
- 使用渲染计数
- 使用渲染信息
- 使用脚本
- 使用会话存储
- 使用集
- useThrottle
- 使用切换
- 使用可见性更改
- 使用窗口滚动
- 使用窗口大小
实验
安装
npm i @uidotdev/usehooks@experimental react@experimental react-dom@experimental
钩子
React TypeScript 速查表
⭐ GitHub 星标数:34.8k+
面向经验丰富的 React 开发人员的 TypeScript 入门速查表。
typescript-cheatsheets / react
面向经验丰富的 React 开发人员的 TypeScript 入门速查表
React+TypeScript 速查表
面向经验丰富的 React 开发人员的 TypeScript 入门速查表
👋 这个仓库由@swyx、@eps1lon和@filiptammergard维护。我们很高兴你们想尝试将 TypeScript 与 React 结合使用!如果发现任何错误或遗漏,请提交 issue!👍
所有 React + TypeScript 速查表
React 编程挑战
⭐ GitHub 星标数:1.9k+
一系列难度各异的 ReactJS 编程挑战题。
alexgurr / react-coding-challenges
一系列难度各异的 ReactJS 编程挑战题。
⭐️寻找合作伙伴⭐️
我们正在寻找人来帮忙完成最新的Coinbee挑战。如果您有兴趣,请通过我们的 Slack 社区或我的网站alexgurr.com联系我们!
一系列难度各异的ReactJS 编程挑战。点击此处深入了解原因。
对 React 的基础知识/理念感兴趣吗?请查看react-philosophies GitHub 代码库。
赞助
Time To Estimate是一款简单有趣的工具,敏捷团队可以远程协作估算任务。完全免费,无需注册。
mixmello。创建您最喜欢的 Spotify 播放列表的混音版本。
挑战
很简单🙂
🚀火箭飞船
不必要的重新渲染,精细的控制。
中等 😐
🌙深色模式
状态/共享状态,DOM 操作。
数据可视化和图表绘制。API 使用。
好难😬
🎧 Spootify
正在加载状态,API 使用情况。
🤖闲聊
WebSocket、事件、回调和 React Hooks。与Botty对话……
React面试题及答案
⭐ GitHub 星标数:1.9k+
ReactJS 面试题及答案精选 500 道……编程练习题即将推出!!
sudheerj / reactjs-interview-questions
ReactJS 面试题及答案精选 500 道……编程练习题即将推出!!
React面试题及答案
如果您喜欢这个项目,请点击⭐。非常欢迎您提交 Pull Request。请关注我的推特账号@SudheerJonna获取技术更新。
- 如果你真心想学习 React,并且想深入学习基础知识,我推荐这门React 课程。
- 想在编程面试中脱颖而出,进入梦寐以求的公司吗?那就来参加这个编程面试训练营吧!
注意:本仓库专门针对 ReactJS。有关核心 JavaScript 问题,请查看JavaScript 面试题。
目录
| 不。 | 问题 |
|---|---|
| 核心 React | |
| 1 | React是什么? |
| 2 | React 的发展历程是怎样的? |
| 3 | React的主要特点有哪些? |
| 4 | 什么是JSX? |
| 5 | 元素和组件有什么区别? |
| 6 | 如何在 React 中创建组件? |
| 7 | 何时应该使用类组件而不是函数组件? |
| 8 | 什么是纯组分? |
| 9 | React 中的 state 是什么? |
| 10 | React 中的 props 是什么? |
| 11 |
30 秒 React 入门
⭐ GitHub 星标数:4.3k+
满足您所有开发需求的简短 React 代码片段
- 请访问我们的网站查看我们的代码片段集。
- 使用搜索页面查找符合您需求的摘要。您可以按名称、标签、语言或摘要描述进行搜索。只需输入关键词,即可查看搜索结果。
- 浏览React 代码片段集合,查看此项目中的所有代码片段,或者点击同一页面顶部的各个标签,将搜索范围缩小到特定标题。
- 点击每个代码片段卡片即可查看完整的代码片段,包括代码、解释和示例。
- 您可以使用代码片段卡片底部的按钮在 Codepen 中查看代码片段。
- 如果你喜欢这个项目,请给它点个赞。这对维护项目的人来说意义重大。
Chalarangelo / 30秒反应时间
满足您所有开发需求的简短 React 代码片段
重要通知:
截至 2023 年 5 月,所有 30 秒内容库都已合并到30 秒代码库中。
请关注、收藏并关注那里的相关活动。
30秒代码
满足您所有开发需求的简短 React 代码片段
- 请访问我们的网站查看我们的代码片段集。
- 使用搜索页面查找符合您需求的摘要。您可以按名称、标签、语言或摘要描述进行搜索。只需输入关键词,即可查看搜索结果。
- 浏览React 代码片段集合,查看此项目中的所有代码片段,或者点击同一页面顶部的各个标签,将搜索范围缩小到特定标签。
- 点击每个代码片段卡片即可查看完整的代码片段,包括代码、解释和示例。
- 您可以使用代码片段卡片底部的按钮在 Codepen 中查看代码片段。
- 如果你喜欢这个项目,请捐赠……
React Hooks 速查表
⭐ GitHub 星标数:655+
一份包含可编辑示例的速查表💪
- React Hooks API 的一站式参考指南
- 不能取代官方文档。
- 但是,它包含了实际的代码示例,每个示例都模拟了所有钩子 API。
- 它包含一些你可能会遇到的真实案例/问题示例。
- 最重要的是,该速查表包含可实时编辑的代码。
[
GitHub - ohansemmanuel/react-hooks-cheatsheet:🦖 React hooks 速查表,可实时编辑…
ohansemmanuel / react-hooks-cheatsheet
🦖 React Hooks 速查表,附带可编辑的实时示例
一份包含可编辑示例的速查表💪
- React Hooks API 的一站式参考指南
- 不能取代官方文档。
- 但是,它包含了实际的代码示例,每个示例都模拟了所有钩子 API。
- 包含一些你可能会遇到的真实案例/问题示例
- 最重要的是,该速查表包含可实时编辑的代码。
示例
- 包含实时示例🙋
所有
- 为所有钩子添加示例调用签名
- 添加更多示例,解释官方Hooks 常见问题解答中有趣的用例。
贡献
欢迎任何形式的贡献。如果您想完成上述任何待办事项,请随时提交 PR。对速查表有任何有趣的想法?也欢迎提交 PR :)
React/Redux链接
⭐ GitHub 星标数:21.6K+
我精心收集了一些关于 React、Redux、ES6 等方面的教程和资源链接,旨在为想要学习 React-Redux 生态系统的人提供高质量的文章和资源,帮助他们获取有关高级主题和技巧的优质信息。虽然算不上“完美”,但希望能作为大家的起点。欢迎提出建议。
markerikson / react-redux-links
我收集了一些关于 React、Redux、ES6 等方面的精选教程和资源链接。
React/Redux链接
我精心收集了一些关于 React、Redux、ES6 等方面的教程和资源链接,旨在为想要学习 React-Redux 生态系统的人提供高质量的文章和资源,同时也为想要了解高级主题和技巧的人提供优质信息。虽然算不上“完美”,但我希望它能成为一个有用的起点。欢迎提出建议。
另一个重要的资源是Discord 上的 Reactiflux 社区,它设有专门讨论 React、Redux 和其他相关技术的聊天频道。总有不少人在那里交流并解答问题,是提问和学习的好地方。邀请链接是https://www.reactiflux.com。
您可能还想查看我整理的 Redux 相关插件、库和工具的分类列表,网址为Redux Ecosystem Links。另请参阅社区资源,其中包含其他链接列表、播客等的链接……
React 开发者路线图
⭐ GitHub 星标数:17000+
下面这张图表展示了你可以选择的学习路径以及成为 React 开发者需要学习的库。我制作这张图表是为了给所有问我“作为一名 React 开发者,接下来我应该学习什么?”的人提供一些建议。
adam-golab / react-developer-roadmap
成为 React 开发人员的路线图
React 开发者路线图
2019年成为React开发者的路线图:
下面这张图表展示了你可以选择的学习路径以及成为 React 开发者需要学习的库。我制作这张图表是为了给所有问我“作为一名 React 开发者,接下来我应该学习什么?”的人提供一些建议。
免责声明
这份路线图旨在帮助您了解行业概况。如果您对下一步学习方向感到迷茫,这份路线图将为您提供指导,而不是鼓励您盲目追求潮流。您应该逐渐理解为什么某些工具在某些情况下比其他工具更合适,并且记住,潮流并不总是意味着最适合……
超棒的 React Hooks
⭐ GitHub 星标数:8.2K+
包含大量自定义 React Hooks 的必备集合,并附有完整的文档。
重新钩子/ awesome-react-hooks
超棒的 React Hooks
超棒的 React Hooks 资源
文档
讨论
教程
- Dan Abramov 的《理解 React Hooks》
- Octave Raimbault 的《从 React.Component 到 hooks》
- 《React Hooks:我的测试会怎么样?》作者:Kent C. Dodds
- 《使用 React Hooks 进行状态管理——无需 Redux 或 Context API》,作者:André Gardi
- Robin Wieruch 撰写的《如何使用 React Hooks 获取数据?》
- React Hooks入门
- React Hooks - 深入探讨 useContext 和 useReducer
- James King 的文章《使用自定义 React Hooks 简化表单》
- 使用 Axios 测试用于获取数据的自定义 React Hook
- 《React Hooks学习指南(示例与教程)》作者:Eric Bishard
- 《理性地测试 React Hooks》作者:Dave Cooper
- React 示例:Hooks
视频
- 🎬 ReactConf 2018:Sophie Alpert 和 Dan Abramov 的 React 今日与明日官方公告和首次演示。
- 🎬 ReactConf 2018:通过……让 React 代码更简洁 90%。
超棒的 Next.js
⭐ GitHub 星标数:7.5K+
精选有关 Next.js(React 服务器的渲染框架)的书籍、视频和文章。
unicodeveloper / awesome-nextjs
📔 📚 精选优质资源列表:关于使用 Next.js(一个用于构建通用服务器端渲染 React 应用的极简框架)的书籍、视频和文章
精选资源列表:关于使用 Next.js 的书籍、视频和文章。
Next.js:React框架。
这份列表的灵感来源于awesome list thing。你可能也会喜欢awesome-tdd。
内容
社区
基本要素
文章
- 即时网站更新,支持按需重新验证和Directus
- 使用 Next.js 实现动态 CMS 驱动的重定向
- Next.js、GraphQL 和 React 查询入门
- 将 Next.js 与 FaunaDB 结合使用:如何从您的应用程序查询数据库
- 如何使用 ButterCMS 构建无服务器 Next.js 博客
- 使用 Next.js 构建通用 JavaScript 应用
- Next.js 入门指南 — 设置您的应用程序
- Next.js 入门 — 引入数据
- 如何构建一个基于 Next.js React 的通用应用程序
- Next.js 的下一个章节
- 使用 Next.js、Stripe 和 Micro 在您的网站上接受付款
- Next.js 在…
远程工作
赐我强大的力量
写作一直是我的爱好,它让我感到快乐,也让我能够帮助和激励他人。如果您有任何疑问,欢迎随时联系我!
欢迎在Twitter、LinkedIn和GitHub上关注我!
文章来源:https://dev.to/martinadamsdev/20-github-repositories-to-become-a-react-master-opl













