为什么要学习React
为了扩展技能和职业发展。虽然 Vue 3 和 React 在某些方面有相似之处,但它们在实现和哲学上都有所不同。
学习计划
- 了解 React 的核心概念和技术栈。React 的核心概念包括组件化开发、虚拟 DOM、生命周期、状态管理等等。学习 React 官方文档,深入了解 React 的基础知识和技术栈。
- 学习 React 的生态系统和相关工具。React 的生态系统非常丰富和成熟,包括 Redux、React Router、Next.js 等等工具和框架。
- 写一些小项目或者实现一些常见的组件。
React核心概念有哪些
- 组件化:React 将整个 UI 拆分成一个个独立的组件,每个组件都有自己的状态和属性,组件可以嵌套在其他组件中,形成一个树形结构。这种组件化的方式使得 UI 的开发更加模块化和可复用。
- JSX:JSX 是一种 JavaScript 的语法扩展,它可以让我们在 JavaScript 中使用类似 HTML 的标记来描述 UI,这样可以更加直观地编写 UI 代码。React 将 JSX 转换成纯 JavaScript 代码后再执行。
- 虚拟 DOM:React 采用虚拟 DOM 技术,通过比较前后两个虚拟 DOM 的差异来更新 UI。虚拟 DOM 是一个轻量级的 JavaScript 对象,它映射了真实的 DOM,但不会直接操作 DOM,而是通过比较差异来更新 DOM。
- 单向数据流:React 中的数据流是单向的,数据从父组件流向子组件,子组件不能直接修改父组件的数据,而是通过调用父组件传递下来的回调函数来修改数据。
- 生命周期:React 组件具有生命周期方法,可以在组件被创建、更新、销毁等不同的阶段执行不同的逻辑。常见的生命周期方法包括 componentDidMount、shouldComponentUpdate、componentDidUpdate、componentWillUnmount 等。
- 状态管理:React 中的状态是组件私有的数据,可以通过 setState 方法来修改状态。React 也支持使用第三方状态管理库来管理全局状态,比如 Redux。
- 高阶组件:高阶组件是一个接收组件作为参数并返回一个新组件的函数。高阶组件可以用来实现组件的复用和逻辑的封装。
几个学习 React 的资源:
- React 官方文档:reactjs.org/
- React 中文文档:zh-hans.reactjs.org/
- React 学习路线图:github.com/adam-golab/…
- React 实战教程:react.school/
- React 源码解析:react.iamkasong.com/
学习进度
我准备在github每天提交一部分学习代码(如果有代码输出的话), 用以记录学习过程. 后续的每篇文章都会附带commitId作为源码阅读节点