这是一本关于 React.js 的小书。前端
由于工做中一直在使用 React.js,也一直以来想总结一下本身关于 React.js 的一些知识、经验。因而把一些想法慢慢整理书写下来,作成一本开源、免费、专业、简单的入门级别的小书,提供给社区。但愿可以帮助到更多 React.js 刚入门朋友。react
因为水平有限,编写的过程不免会有诸多错误,也但愿你们在看的过程当中发现了问题,能够在 Github 上给该项目发 Pull Request。衷心但愿能够有更多的人参与到本书的编写当中。git
(本书的后续可能会作成视频教程,敬请期待。)github
本书介绍
本书为有一点前端基础的而且是 React.js 零基础的同窗而做,帮助他们掌握 React.js 而且灵活地把 React.js 应用到实际项目当中。若是你有必定的 HTML、CSS、JavaScript 基础而且但愿学习 React.js,而又以为 React.js 当中有些概念比难以接受和理解,但愿可以从零开始学习,那么本书很适合你。但若是你已经对前端已经很是熟悉而且用过很多的前端框架和相关的组件化技术,建议你直接看官网文档。redux
本书并不会文档式地包含全部知识点,只会提炼实战经验中基础的、重要的、频繁的知识进行重点讲解,让你能用最少的精力深刻了解实战中最须要的 React.js 知识和套路,轻装上路。若是须要更多更全面的知识点,能够参看更多的官方文档或者其余丰富的资料。前端框架
另外,本书全书采用 ECMAScript 2015,阅读以前请确保本身已经掌握了 ECMAScript 2015 的基本语法,不然阅读起来会很是困难。微信
本书初定分为三个阶段,每一个阶段最后会有实战分析,把该阶段的知识点应用起来。前端工程师
第一个阶段:但愿能让读者掌握 React.js 的基本概念和基础知识。包括问题的根源:前端组件的复用性问题、数据和视图的同步问题。了解清楚问题之后再了解 React.js 的基础知识,包括 JSX、事件监听、state、props、列表渲染等。看看 React.js 是怎么解决这些问题的。这个阶段结束之后,读者就能够能够运用 React.js 构建简单的页面功能。框架
第二个阶段:让读者更进一步了解 React.js,包括组件生命周期及其含义、state 和 props 的进阶概念、props 验证及其意义、组件组合进阶、如何和 DOM 打交道、而且开始引入前端应用状态管理所存在的问题。less
第三个阶段:让读者掌握 React.js 较为高级的概念,包括高阶组件、context。而且尝试引入 React-router、redux 来协助咱们构建较为完整的前端应用;还会开始深刻讨论前端应用状态管理的问题。
目录
第一个阶段- Lesson 1 - React.js 简介
- Lesson 2 - 前端组件化(一):从一个简单的例子讲起
- Lesson 3 - 前端组件化(二):优化 DOM 操做
- Lesson 4 - 前端组件化(三):抽象出公共组件类
- Lesson 5 - React.js 基本环境安装
- Lesson 6 - 使用 JSX 描述 UI 信息
- Lesson 7 - 组件的 render 方法
- Lesson 8 - 组件的组合、嵌套和组件树
- Lesson 9 - 事件监听
- Lesson 10 - 组件的 state 和 setState
- Lesson 11 - 配置组件的 props
- Lesson 12 - state vs props
- Lesson 13 - 渲染列表数据
- Lesson 14 - 实战分析:评论功能(一)
- Lesson 15 - 实战分析:评论功能(二)
- Lesson 16 - 实战分析:评论功能(三)
第二个阶段
- Lesson 17 - 前端应用状态管理 —— 状态提高
- Lesson 18 - 挂载阶段的组件生命周期(一)
- Lesson 19 - 挂载阶段的组件生命周期(二)
- Lesson 20 - 更新阶段的组件生命周期
- Lesson 21 - ref 和 React.js 中的 DOM 操做
- Lesson 22 - props.children 和容器类组件
- Lesson 23 - dangerouslySetHTML 和 style 属性
- Lesson 24 - PropTypes 和组件参数验证
- Lesson 25 - 实战分析:评论功能(四)
- Lesson 26 - 实战分析:评论功能(五)
- Lesson 27 - 实战分析:评论功能(六)
第三个阶段(编写中)
- Lesson 28 - 高阶组件(Higher-Order Components)
- Lesson 29 - React.js 的 context
- Lesson 30 - 动手实现 Redux(一):优雅地修改共享状态
- Lesson 31 - 动手实现 Redux(二):抽离 store 和监控数据变化
- Lesson 32 - 动手实现 Redux(三):纯函数(Pure Function)简介
- Lesson 33 - 动手实现 Redux(四):共享结构的对象提升性能
- Lesson 34 - 动手实现 Redux(五):不要问为何的 reducer
- Lesson 35 - 动手实现 Redux(六):Redux 总结
- Lesson 36 - 动手实现 React-redux(一):初始化工程
- Lesson 37 - 动手实现 React-redux(二):结合 context 和 store
特别鸣谢
特别感谢如下朋友对本书所作的审校工做,给本书提出了不少宝贵的改进意见:
联系做者
-
加入《React.js 小书》读者交流群:huzidaha-me,一块儿讨论、交流、学习前端技术。
-
License
本做品采用 署名-禁止演绎 4.0 国际许可协议 进行许可