React/Redux 链接
我收集的关于React、Redux、ES6等的精选教程和资源链接,旨在为想了解React-Redux生态系统的人提供一系列高质量的文章和资源,同时也是关于高级主题和技术的优质信息来源。这个列表虽然称不上"令人惊叹",但希望能作为一个有用的起点,供我分享给他人。欢迎提出建议。
另一个重要资源是Discord上的Reactiflux社区,其中有专门讨论React、Redux和其他相关技术的聊天频道。那里总有很多人在闲聊和回答问题,是提问和学习的好地方。邀请链接是**https://www.reactiflux.com**。
你可能还想看看我整理的Redux相关附加组件、库和实用工具的分类列表,在Redux生态系统链接。另外请查看社区资源以获取其他链接列表、播客和电子邮件通讯的链接。最后,我还在blog.isquaredsoftware.com上维护一个开发博客,在那里我写关于React、Redux、Webpack等内容。
目录
入门
基础教程
中级概念
高级主题
- 架构和结构
- React:
- Redux
- 其他
比较和讨论
推荐学习路径
你通常应该按以下顺序学习这些技术:
- "Web应用如何工作": 一系列文章,介绍客户端/服务器Web应用中使用的核心技术、术语和概念的大局观
- JavaScript: 如果你不懂JavaScript,其他内容都将难以理解
- React: 你可以单独使用React,也可以与Redux和/或TypeScript一起使用。单独学习它将最大限度地减少你一次需要学习的新概念和语法数量。
- Redux: Redux可以单独使用,但最常与React一起使用。
- TypeScript: 因为它在JS之上添加了静态类型,所以你需要先理解JS。另外,最好先理解React和Redux,然后再学习如何在静态类型中使用它们。
本页中的资源按该顺序列出。
你不需要阅读本页列出的每一个链接和文章。 但是,你应该尽可能多地阅读"推荐主要资源"部分中链接的文章,特别是对于你不太熟悉的主题。许多推荐的教程确实涵盖了相同的主题,所以你可以随意跳过你已经学过的概念。
"其他资源"部分的链接可作为参考,根据需要阅读。
Web应用如何工作
Mark的系列文章,描述了Web应用中使用的关键术语、概念、技术、语法和数据流。
推荐主要资源(应该阅读)
- Web应用如何工作:HTTP和服务器
- Web应用如何工作:客户端开发和部署
- Web应用如何工作:浏览器、HTML和CSS
- Web应用如何工作:JavaScript和DOM
- Web应用如何工作:AJAX、API和数据传输
JavaScript
推荐主要资源(应该阅读)
通用JS
- 幻灯片: Mark的"面向Java开发者的JavaScript"幻灯片
- 阅读: MDN: 重新介绍JavaScript
- 阅读: 现代JavaScript教程
- 阅读: JavaScript备忘单
- 练习: CodeCademy - JavaScript入门教程
特定主题
- 数组方法:
- 相等性和比较
- 闭包
this
关键字和作用域- JS事件循环
- CSS和布局
- Node / NPM
- 构建工具
- 调试
附加资源(按需阅读)
通用JS
- 核心参考:
- 语法概览:
- 附加书籍/参考:
- 完整的JavaScript手册
- 雄辩的JavaScript
- 探索JS丛书(涵盖了该语言每年修订的新内容)
- 链接:ES6+特性和语法(链接到关于ES6+新特性的附加文章)
- 你不知道的JS(JS行为的高级概念和理解)
特定主题
- 数组/对象方法 / 不可变性
- JS事件循环
- 正则表达式
- CSS
- Node / NPM
- Lodash
- 构建工具
React
推荐主要资源(应该阅读)
通用React
首先阅读官方文档。React团队正在开始对React文档网站进行重大重写,以首先专注于教授函数组件和钩子,现在已有测试版。我们链接到了这个版本,而不是现有的"主要"文档。
这里列出的其他教程也非常优秀,可能会以不同的方式解释事情。
-
阅读:官方React文档
- 入门(文档概述和相关资源)
- 主要概念(阅读整个系列,但尤其是以下两个):
- React Hooks指南(阐述动机,教授钩子,API参考,深入FAQ)
-
观看: React初学者教程
-
阅读: 2020年React、Redux和TypeScript入门(Mark的演示幻灯片)
-
阅读: 2020年React综合指南
-
练习: 学习React - 交互式教程
项目设置
- 阅读:2019年简单React开发(设置应用、开发环境和部署的指南)
- 使用:CodeSandbox.io(一个在线IDE,使用VS Code的编辑器,可以让你完全在浏览器中开发和运行应用)
- 使用:Create-React-App(官方的CLI工具,可以用一个命令创建React应用。默认提供了良好的构建设置。)
特定主题
- 概念上/内部理解React的工作原理
- React作为UI运行时(深入探讨 - 非必读,但肯定会帮助你更好地理解React)
- Mark Erikson: React渲染行为的(几乎)完整指南
- 构建你自己的React
- 状态和属性
- 组件生命周期
- AJAX请求
- 不可变性
- 函数式编程基础
- 表单和"受控输入"
- React的新"hooks" API
- React文档 - Hooks(阐述动机、教授hooks、API参考、深入FAQ)
- useEffect的完整指南(文章很长,但必读。讲解hooks如何使用闭包、定义效果何时运行等等。)
- 什么是React Hooks?
- React Hooks:不是魔法,只是数组(深入解释hooks的实现原理)
附加资源(按需阅读)
通用React
- 资源集合
- Mark Erikson的React-Redux链接集合(多个类别的文章链接)
- Mark推荐的学习React资源
- Dave Ceddia的博客(他写的所有内容)
- Robin Wieruch的博客(同样是他写的所有内容)
- 额外书籍/参考资料
Redux
推荐主要资源(应该阅读)
通用Redux
首先从阅读官方文档开始。
其他教程也很出色,可能会以不同的方式解释概念。
- 阅读:Redux核心文档
- "Redux要点"教程: 解释"如何正确使用Redux",使用最新推荐的技术和实践,如Redux Toolkit和React-Redux API,同时构建一个类似真实世界的示例应用。
- "Redux基础"教程: 从底层教授"Redux如何工作",包括核心Redux数据流和为什么存在标准Redux模式。
- "TypeScript快速入门":解释如何配置Redux Toolkit,实现从action creators到selectors的类型安全。
- 使用:Redux Toolkit (一个官方Redux包,用于简化常见任务,包括store设置和编写reducers)
- 阅读:React-Redux文档
- React-Redux hooks API参考
- 这些API现在被认为是过时的,但在现有的Redux代码库中广泛使用
- 观看: Dan Abramov在Egghead上的教程视频
- 阅读: 完整的React-Redux教程
- 阅读: React Redux初学者教程:权威指南
- 阅读: React进阶:Redux
Mark Erikson的Redux资源
- 阅读:"惯用Redux"概念和观点系列。一系列博客文章,描述标准Redux开发最佳实践,它们存在的原因,以及Redux的预期使用方式。(这些不是入门必读,但一旦你理解了基础知识,强烈推荐阅读。)
- 遗留资源(不涵盖"现代Redux",但仍有参考价值)
- 阅读:Redux基础工作坊片段:一个从头开始讲解Redux的为期两天的内部工作坊。包括每个部分的完整录音、幻灯片和练习仓库。(不涵盖"现代Redux",但
- 阅读:"实用Redux"博客教程系列。通过构建一个较大的示例应用程序涵盖多个React和Redux概念。
特定主题
- 使用Redux的权衡:
- Reducer函数
- 选择器函数
- 副作用
- 规范化数据
附加资源(按需阅读)
- 资源集合
- Redux 风格指南: 正确使用 Redux 的最佳实践和建议
- Redux 常见问题 (回答了许多关于 Redux 的常见问题)
- Redux 生态系统链接 (精选的 Redux 相关插件和工具列表)
- 书籍和课程
- Dave Ceddia 的 纯 Redux 课程
- Tyler McGinnis 的 Redux 课程
- Wes Bos 的 学习 Redux 课程 (免费)
- Redux 实战
- 完整的 Redux 书籍 (免费)
- 驯服 React 中的状态
特定主题
- Redux 如何工作?
TypeScript
推荐的主要资源(应该阅读)
- 阅读: 官方 TypeScript 文档
- TypeScript 游乐场 - 一个交互式游乐场,用于测试 TypeScript 行为和重现问题 - 包含一些内置示例
- 阅读: 2019年开始使用 TypeScript
- 阅读: 权威 TypeScript 指南
- 阅读: TypeScript 指南
特定主题
interface
与type
- "TypeScript 快速入门": 解释如何配置 Redux Toolkit,实现从 action creators 到 selectors 的类型安全。
附加资源(按需阅读)
- 资源集合
- React+TypeScript 备忘单 (关于如何在 React 中使用 TypeScript 的权威信息集)
- React + Redux in TypeScript - 静态类型指南 (一套全面的信息,关于如何一起使用 React、Redux 和 TS,重点是获得应用程序的完整/"正确"类型覆盖)
- 技巧