React.js 小书
React.js 小书
本文作者:胡子大哈
本文原文:React.js 小书
转载请注明出处,保留原文链接以及作者信息
在线阅读:http://huziketang.com/books/react/
简介
这是一本关于 React.js 的小书。
因为工作中一直在使用 React.js,也一直以来想总结一下自己关于 React.js 的一些知识、经验。于是把一些想法慢慢整理书写下来,做成一本开源、免费、专业、简单的入门级别的小书,提供给社区。希望能够帮助到更多 React.js 刚入门朋友。
由于水平有限,编写的过程难免会有诸多错误,也希望大家在看的过程中发现了问题,可以在 Github 上给该项目发 Pull Request。衷心希望可以有更多的人参与到本书的编写当中。
(本书的后续可能会做成视频版本,敬请期待。)
本书介绍
本书为有一点前端基础的并且是 React.js 零基础的同学而作,帮助他们掌握 React.js 并且灵活地把 React.js 应用到实际项目当中。如果你有一定的 HTML、CSS、JavaScript 基础并且希望学习 React.js,而又觉得 React.js 当中有些概念比难以接受和理解,希望能够从零开始学习,那么本书很适合你。但如果你已经对前端已经非常熟悉并且用过不少的前端框架和相关的组件化技术,建议你直接看官网文档。
本书并不会文档式地包含所有知识点,只会提炼实战经验中基础的、重要的、频繁的知识进行重点讲解,让你能用最少的精力深入了解实战中最需要的 React.js 知识和套路,轻装上路。如果需要更多更全面的知识点,可以参看更多的官方文档或者其他丰富的资料。
另外,本书全书采用 ECMAScript 2015,阅读之前请确保自己已经掌握了 ECMAScript 2015 的基本语法,否则阅读起来会非常困难。
本书初定分为三个阶段,每个阶段最后会有实战分析,把该阶段的知识点应用起来。
第一个阶段:希望能让读者掌握 React.js 的基本概念和基础知识。包括问题的根源:前端组件的复用性问题、数据和视图的同步问题。了解清楚问题以后再了解 React.js 的基础知识,包括 JSX、事件监听、state、props、列表渲染等。看看 React.js 是怎么解决这些问题的。这个阶段结束以后,读者就可以可以运用 React.js 构建简单的页面功能。
第二个阶段:让读者更进一步了解 React.js,包括组件生命周期及其含义、state 和 props 的进阶概念、props 验证及其意义、组件组合进阶、如何和 DOM 打交道、并且开始引入前端应用状态管理所存在的问题。
第三个阶段:让读者掌握 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 总结
- …
特别鸣谢
特别感谢以下朋友对本书所做的审校工作,给本书提出了很多宝贵的改进意见:
- 邝伟科 - 腾讯 Web 前端工程师
- 杨海波 - 百度 Web 高级前端工程师
- 谢军令 - 天猫 Web 前端工程师
- 戴嘉华 - 前微信 Web 前端工程师
联系作者
- 邮箱:huzidaha@126.com
- 知乎:@胡子大哈
- 专栏:@前端大哈
License
本作品采用 署名-禁止演绎 4.0 国际许可协议 进行许可
React.js 小书相关推荐
- React.js 小书 Lesson12 - state vs props
React.js 小书 Lesson12 - state vs props 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson12 转载请注 ...
- React.js 小书 Lesson14 - 实战分析:评论功能(一)
React.js 小书 Lesson14 - 实战分析:评论功能(一) 本文作者:胡子大哈 本文原文:http://react.huziketang.com/blog/lesson14 转载请注明出处 ...
- React.js 小书 Lesson27 - 实战分析:评论功能(六)
React.js 小书 Lesson27 - 实战分析:评论功能(六) 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson27 转载请注明出 ...
- React.js 小书 Lesson5 - React.js 基本环境安装
React.js 小书 Lesson5 - React.js 基本环境安装 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson5 转载请注明 ...
- React.js 小书 Lesson15 - 实战分析:评论功能(二)
作者:胡子大哈 原文链接: http://huziketang.com/books/react/lesson15 转载请注明出处,保留原文链接和作者信息. 上一节我们构建了基本的代码框架,现在开始完善 ...
- React.js 小书 Lesson24 - PropTypes 和组件参数验证
作者:胡子大哈 原文链接: http://huziketang.com/books/react/lesson24 转载请注明出处,保留原文链接和作者信息. 我们来了到了一个非常尴尬的章节,很多初学的朋 ...
- React.js 小书 Lesson18 - 挂载阶段的组件生命周期(一)
React.js 小书 Lesson18 - 挂载阶段的组件生命周期(一) 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson18 转载请注 ...
- React.js 小书 Lesson1-2 - 前端组件化(一):从一个简单的例子讲起
React.js 小书 Lesson1-2 - 前端组件化(一):从一个简单的例子讲起 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson2 ...
- React.js小书总结
(迁移自旧博客2017 08 27) 第一阶段 react的组件相当于MVC里面的View. react.js 将帮助我们将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合.嵌套,就成 ...
- 专访小书作者刘传君:练太极的“读书机器”
访谈嘉宾:刘传君 刘传君,创过业.做过产品.一个爱读书,喜欢分享的程序员.先后在图灵社区出版了<HTTP小书><Git小书><Vue.js小书><Swift ...
最新文章
- CES线下展回归在即:飞行汽车外骨骼智能戒指吸足眼球
- Computing--图灵机
- Spring Cloud【Finchley】-18 Zuul过滤器
- PHP中环境变量的设置
- 【学习笔记】区块链应用判断准则
- CGCTF-Web-md5 collision
- python扇贝单词书_Python脚本 扇贝单词书爬取
- elastic学习笔记
- 递归原来可以so easy|-连载(3)
- 【iOS QR Code】集成ZXingWidget(XCode Version 4.5.2,iOS 6.0 SDK)
- GUI开发之AWT、SWING、SWT和JFACE的比较
- 分享200个App移动端模板---总有一个适合你
- sqlserver 2000 sp3补丁
- Azure CDN 服务详解
- VB中On Error Resume Next 什么意思,一般在什么情况下使用
- 计算机网络术语sonet,SONET
- stimulsoft oracle,Stimulsoft Reports
- 账户结构,推广计划,推广单元
- python 标签云_Python word_cloud 样例 标签云系列(三)
- c语言中fcntl.h函数库,fcntl函数的使用详解
热门文章
- 基于三菱PLC的全自动洗衣机控制系统设计
- 31省“5G应用”主攻方向+责任单位一览!
- exe打包工具,封装exe安装程序--Inno Setup
- 电力系统微型计算机继电保护试题及答案,电力系统微型计算机继电保护试题及答案(2002年4月)...
- 爬虫实战(二)之登录百度云盘
- web前端职业生涯路线
- “元宇宙”火了,这玩意到底是啥?
- VS2017使用C#编写COM组件
- html滑动验证,html5移动端按住滑块拖动验证代码
- 2.4 滑块拼图验证码