📄️ React 的颠覆式创新
React 的中文含义是“反应”或“响应”,它描述了 React 这样一个前端框架的核心原理:当数据发生变化时,UI 能够自动把变化反映出来。这在 React 当时出现的背景之下,可以说是一个颠覆式的创新。
📄️ React 为什么要发明hooks?
React 作为目前最为主流的前端框架,自 2013 年诞生至今已经有近 8 年的时间了。这 8 年来,在其他前端框架发生翻天覆地变化的同时,React 的 API 则非常稳定,几乎从来没有出现过重大的向后兼容的问题,而且每一次版本的升级也都非常顺滑。这不仅说明 React 在 API 的设计上经受住了考验,同时也可以看到 React 团队在稳定 API 上所做的努力。但是即使在这样稳定的背景下,React 还是在两年前的 16.8 版本中推出了一套全新的 Hooks 机制。
📄️ 内置 Hooks(1):如何保存组件状态和使用生命周期?
React 提供的 Hooks 其实非常少,一共只有 10 个,比如 useState、useEffect、useCallback、useMemo、useRef、useContext 等等。
📄️ 内置 Hooks(2):为什么要避免重复定义回调函数?
有一些细节问题,例如事件处理函数会被重复定义、数据计算过程没有缓存等,还都需要一些机制来处理。所以在这节课,你会看到其它四个最为常用的内置 Hooks (包括 useCallback、useMemo、useRef 和 useContext)的作用和用法,以及如何利用这些 Hooks 进行功能开发。
📄️ 进一步认识 Hooks :如何正确理解函数组件的生命周期?
这一讲我会带你从 Hooks 的角度进一步理解 React 函数组件的生命周期。你可能会有疑问,前面几节课我们已经学习了 Hooks 的概念和内置 Hooks 的用法,那为什么还会有专门一讲来进一步介绍 Hooks 呢?
📄️ 自定义Hooks :四个典型的使用场景
要用好 React Hooks,很重要的一点,就是要能够从 Hooks 的角度去思考问题。要做到这一点其实也不难,就是在遇到一个功能开发的需求时,首先问自己一个问题:这个功能中的哪些逻辑可以抽出来成为独立的 Hooks?
📄️ 全局状态管理:如何在函数组件中使用 Redux?
Redux 作为一款状态管理框架啊,是公认的 React 开发中最大的一个门槛,但同时呢,它也是 React 开发人员必须掌握的一项技能。因为只有熟练应用 Redux,你才能更加灵活地使用 React,来从容应对大型项目的开发难题。
📄️ 复杂状态处理:如何保证状态一致性?
React 中 UI 完全是通过状态驱动的。所以在任何时刻,整个应用程序的状态数据就完全决定了当前 UI 上的展现。毫不夸张地说,React 的开发其实就是复杂应用程序状态的管理和开发。因此,这就需要你去仔细思考,该怎么去用最优、最合理的方式,去管理你的应用程序的状态。
📄️ 异步处理:如何向服务器端发送请求?
实现自己的 API Client
📄️ 函数组件设计模式:如何应对复杂条件渲染场景?
所谓设计模式,就是针对特定场景,提供一种公认的最佳实践。在前面的课程中,我们已经提到了不少模式,比如保证状态的唯一数据源,语义化的拆分复杂组件,等等。熟练掌握这些模式,可以让我们的代码更加简洁直观。
📄️ 事件处理:如何创建自定义事件?
我们知道,在 React 中,父子组件的交互是通过 props。这个机制其实是双向的,父组件通过 props 把值传递给子组件,而子组件则通过暴露一些事件,给父组件反馈到一些状态或数据。这两个环节是组件之间通信的基础,所以都需要熟练掌握。
📄️ 项目结构:为什么要按领域组织文件夹结构?
很多同学在做项目开发时都会有这样的体验:项目初期,做得爽,进展快。但等功能做得差不多了,比如已经完成 90%,会突然感觉进展慢下来了。在剩下 10% 的功能开发上花的时间,可能比前面做 90% 的功能还要多。
📄️ Form:Hooks 给 Form 处理带来了哪些新变化?
表单作为用户交互最为常见的形式,但在 React 中实现起来却并没有那么容易。甚至可以说,使用表单,是 React 开发中最为困难的一部分。
📄️ 使用浮动层:如何展示对话框,并给对话框传递参数?
对话框是前端应用中非常常用的一种界面模式,它们通常是应用中的一个独立窗口,用于展示信息或者输入信息。
📄️ 路由管理:为什么每一个前端应用都需要使用路由机制?
所谓路由管理,就是让你的页面能够根据 URL 的变化进行页面的切换,这是前端应用中一个非常重要的机制,同时也是 Web 应用区别于桌面应用的一个重要特征。
📄️ 按需加载:如何提升应用打开速度?
随着前端技术的不断演进,以及浏览器性能的不断提高,前端应用的开发也变得越来越复杂,因为更多的功能被放到了前端去实现。
📄️ 打包部署:你的应用是如何上线的?
从这节课开始,我们就进入了扩展篇的学习。通过基础篇和实战篇的学习,你应该对如何开发一个 React 应用已经心中有数了。但是我们也要知道,仅仅学会开发是不够的。在此基础之上,掌握打包部署、单元测试,以及了解 React 生态圈的一些常用项目,才能真正完成一个应用的开发。
📄️ 单元测试:自定义 Hooks 应该如何进行单元测试?
在课程的一开始,我想首先强调一下单元测试的重要性。因为我发现很多同学在实现业务功能的时候,干劲十足,非常感兴趣。但是一旦要去写测试用例,就顿时觉得枯燥和无趣。
📄️ 第三方工具库:最常用的第三方工具库有哪些?
如今的软件开发已经离不开开源社区提供的各类工具库了,合理的使用它们,不仅可以帮助节省重复的开发时间。而且通常来说,流行的开源库具有更充分的测试和更高的质量。因此,在 React 的开发过程中,知道 React 生态圈有哪些常用的工具库,了解它们能解决什么问题,是非常有必要的,我们要学会站在前人的肩膀上去成就自己嘛。
📄️ 20. React 的未来:什么是服务器端组件?
React 自诞生到现在,已经有七八年的时间了,不知道你是不是和我有一样的疑惑。React 好像这么多年来就发布了一个 React Hooks,除此之外就没有什么其他新功能了。那么,React 团队到底在做哪些事情呢?其实我们只要仔细想一想,这个疑惑也挺容易解开。
📄️ 答疑解惑专题
02 讲