React.js 小書
本文作者:胡子大哈
本文原文:http://huziketang.com/books/react/
轉(zhuǎn)載請注明出處,保留原文鏈接以及作者信息
在線閱讀:http://huziketang.com/books/react/
簡介
這是一本關(guān)于 React.js 的小書。
因?yàn)楣ぷ髦幸恢痹谑褂?React.js,也一直以來想總結(jié)一下自己關(guān)于 React.js 的一些知識、經(jīng)驗(yàn)。于是把一些想法慢慢整理書寫下來,做成一本開源、專業(yè)、簡單的入門級別的小書,提供給社區(qū)。希望能夠幫助到更多 React.js 剛?cè)腴T朋友。
由于水平有限,編寫的過程難免會有諸多錯誤,也希望大家在看的過程中發(fā)現(xiàn)了問題,可以在 Github 上給該項(xiàng)目發(fā) Pull Request。衷心希望可以有更多的人參與到本書的編寫當(dāng)中。
(本書的后續(xù)可能會做成視頻版本,敬請期待。)
本書介紹
本書為有一點(diǎn)前端基礎(chǔ)的并且是 React.js 零基礎(chǔ)的同學(xué)而作,幫助他們掌握 React.js 并且靈活地把 React.js 應(yīng)用到實(shí)際項(xiàng)目當(dāng)中。如果你有一定的 HTML、CSS、JavaScript 基礎(chǔ)并且希望學(xué)習(xí) React.js,而又覺得 React.js 當(dāng)中有些概念比難以接受和理解,希望能夠從零開始學(xué)習(xí),那么本書很適合你。但如果你已經(jīng)對前端已經(jīng)非常熟悉并且用過不少的前端框架和相關(guān)的組件化技術(shù),建議你直接看官網(wǎng)文檔。
本書并不會文檔式地包含所有知識點(diǎn),只會提煉實(shí)戰(zhàn)經(jīng)驗(yàn)中基礎(chǔ)的、重要的、頻繁的知識進(jìn)行重點(diǎn)講解,讓你能用最少的精力深入了解實(shí)戰(zhàn)中最需要的 React.js 知識和套路,輕裝上路。如果需要更多更全面的知識點(diǎn),可以參看更多的官方文檔或者其他豐富的資料。
另外,本書全書采用 ECMAScript 2015,閱讀之前請確保自己已經(jīng)掌握了 ECMAScript 2015 的基本語法,否則閱讀起來會非常困難。
本書初定分為三個階段,每個階段最后會有實(shí)戰(zhàn)分析,把該階段的知識點(diǎn)應(yīng)用起來。
第一個階段:希望能讓讀者掌握 React.js 的基本概念和基礎(chǔ)知識。包括問題的根源:前端組件的復(fù)用性問題、數(shù)據(jù)和視圖的同步問題。了解清楚問題以后再了解 React.js 的基礎(chǔ)知識,包括 JSX、事件監(jiān)聽、state、props、列表渲染等??纯?React.js 是怎么解決這些問題的。這個階段結(jié)束以后,讀者就可以可以運(yùn)用 React.js 構(gòu)建簡單的頁面功能。
第二個階段:讓讀者更進(jìn)一步了解 React.js,包括組件生命周期及其含義、state 和 props 的進(jìn)階概念、props 驗(yàn)證及其意義、組件組合進(jìn)階、如何和 DOM 打交道、并且開始引入前端應(yīng)用狀態(tài)管理所存在的問題。
第三個階段:讓讀者掌握 React.js 較為高級的概念,包括高階組件、context。并且嘗試引入 React-router、redux 來協(xié)助我們構(gòu)建較為完整的前端應(yīng)用;還會開始深入討論前端應(yīng)用狀態(tài)管理的問題。
目錄
第一個階段
[圖片上傳失敗...(image-623c7d-1510227273169)]
- Lesson 1 - React.js 簡介
- Lesson 2 - 前端組件化(一):從一個簡單的例子講起
- Lesson 3 - 前端組件化(二):優(yōu)化 DOM 操作
- Lesson 4 - 前端組件化(三):抽象出公共組件類
- Lesson 5 - React.js 基本環(huán)境安裝
- Lesson 6 - 使用 JSX 描述 UI 信息
- Lesson 7 - 組件的 render 方法
- Lesson 8 - 組件的組合、嵌套和組件樹
- Lesson 9 - 事件監(jiān)聽
- Lesson 10 - 組件的 state 和 setState
- Lesson 11 - 配置組件的 props
- Lesson 12 - state vs props
- Lesson 13 - 渲染列表數(shù)據(jù)
- Lesson 14 - 實(shí)戰(zhàn)分析:評論功能(一)
- Lesson 15 - 實(shí)戰(zhàn)分析:評論功能(二)
- Lesson 16 - 實(shí)戰(zhàn)分析:評論功能(三)
第二個階段
[圖片上傳失敗...(image-54e0d3-1510227273169)]
- Lesson 17 - 前端應(yīng)用狀態(tài)管理 —— 狀態(tài)提升
- Lesson 18 - 掛載階段的組件生命周期(一)
- Lesson 19 - 掛載階段的組件生命周期(二)
- Lesson 20 - 更新階段的組件生命周期
- Lesson 21 - ref 和 React.js 中的 DOM 操作
- Lesson 22 - props.children 和容器類組件
- Lesson 23 - dangerouslySetHTML 和 style 屬性
- Lesson 24 - PropTypes 和組件參數(shù)驗(yàn)證
- Lesson 25 - 實(shí)戰(zhàn)分析:評論功能(四)
- Lesson 26 - 實(shí)戰(zhàn)分析:評論功能(五)
- Lesson 27 - 實(shí)戰(zhàn)分析:評論功能(六)
第三個階段
- Lesson 28 - 高階組件(Higher-Order Components)
- Lesson 29 - React.js 的 context
- Lesson 30 - 動手實(shí)現(xiàn) Redux(一):優(yōu)雅地修改共享狀態(tài)
- Lesson 31 - 動手實(shí)現(xiàn) Redux(二):抽離 store 和監(jiān)控數(shù)據(jù)變化
- Lesson 32 - 動手實(shí)現(xiàn) Redux(三):純函數(shù)(Pure Function)簡介
- Lesson 33 - 動手實(shí)現(xiàn) Redux(四):共享結(jié)構(gòu)的對象提高性能
- Lesson 34 - 動手實(shí)現(xiàn) Redux(五):不要問為什么的 reducer
- Lesson 35 - 動手實(shí)現(xiàn) Redux(六):Redux 總結(jié)
- ...
特別鳴謝
特別感謝以下朋友對本書所做的審校工作,給本書提出了很多寶貴的改進(jìn)意見:
聯(lián)系作者
- 郵箱:huzidaha@126.com
- 知乎:@胡子大哈
- 專欄:@前端大哈
- 加入《React.js 小書》讀者交流群,一起討論、交流、學(xué)習(xí)前端技術(shù)。
License
本作品采用 署名-禁止演繹 4.0 國際許可協(xié)議 進(jìn)行許可