書單推薦 新書推薦 |
流暢的React ![]() 本書的主要內(nèi)容有:深入理解React的核心原理和工作機(jī)制。學(xué)會(huì)編寫高質(zhì)量的React應(yīng)用并掌握持續(xù)優(yōu)化的方法。掌握構(gòu)建高可用、可擴(kuò)展React應(yīng)用的關(guān)鍵技巧。靈活運(yùn)用React高級(jí)功能,例如reducers、state和refs等。 編輯推薦 前言本書并不適用想要學(xué)習(xí)如何使用React 的讀者。如果你對React 還不熟悉,并希望找到一份入門教程,可以從react.dev 上的React 官方文檔開始。相反,本書是為那些由好奇心驅(qū)使的人而寫,他們并不滿足于了解如何使用React,而是更想弄清楚React 的工作原理。在本書中,我們將深入探討多個(gè)React 的核心概念,理解其底層機(jī)制,并探索這些機(jī)制是如何協(xié)同工作的,使我們能夠更加高效地開發(fā)React 應(yīng)用。通過探究React 的內(nèi)部原理,我們將建立一套清晰的思維模型,使我們能夠更加準(zhǔn)確地理解React 及其生態(tài)系統(tǒng)。本書假設(shè)讀者已經(jīng)具備以下基礎(chǔ)知識(shí):瀏覽器渲染網(wǎng)頁的基本原理。網(wǎng)頁是由CSS 樣式化的HTML 文檔,并通過JavaScript 實(shí)現(xiàn)交互性。此外,本書還假設(shè)讀者對React 有一定的了解,并且曾經(jīng)開發(fā)過一兩個(gè)React 應(yīng)用,最好其中一些應(yīng)用已經(jīng)投入生產(chǎn)環(huán)境使用。我們將從React 的概述及其發(fā)展歷史入手,回顧2013 年它以開源軟件的形式首次發(fā)布的背景。隨后,我們將深入剖析React 的核心概念,包括組件模型、虛擬DOM 和協(xié)調(diào)(reconciliation)機(jī)制。接著,我們會(huì)探討JSX 的編譯原理,并深入解析React 的Fiber 架構(gòu),理解其并發(fā)編程模型。通過這些內(nèi)容,我們將掌握一些關(guān)鍵技巧,比如更高效地進(jìn)行記憶化,以及使用諸如React.memo和useTransition 這樣的強(qiáng)大原語,延遲渲染不必要的計(jì)算任務(wù)。本書的后半部分,我們將深入探討React 框架:了解它們所要解決的問題,以及它們是如何解決這些問題的。為了更好地理解這些機(jī)制。我們將親手編寫一個(gè)框架,聚焦于Web 應(yīng)用繞不開的三個(gè)關(guān)鍵問題:服務(wù)端渲染、路由和數(shù)據(jù)獲取。當(dāng)親手解決了這些問題后,我們會(huì)更加直觀和透徹地感受現(xiàn)有框架解決它們的思路。此外,我們還將深入研究React 服務(wù)端組件(RSC)和服務(wù)端操作(server actions),并探討下一代前端工具鏈,例如打包工具(bundlers)和同構(gòu)路由(isomorphic routers)等。最后,我們將視角從React 拓展到更廣闊的前端生態(tài),探討Vue、Solid、Angular、Qwik 等競品。我們將重點(diǎn)探索信號(hào)(Signal)及其細(xì)粒度響應(yīng)式(fine-grained reactivity),并和React 更粗粒度的響應(yīng)式模型進(jìn)行對比。此外,我們還會(huì)探討React 對信號(hào)機(jī)制的回應(yīng):Forget 工具鏈,以及它在與信號(hào)機(jī)制對比中的表現(xiàn)。本書內(nèi)容豐富,值得深入探究,所以不浪費(fèi)時(shí)間了,讓我們開始吧!本書中的約定本書采用以下排版約定:斜體(Italic)用于表示新術(shù)語、網(wǎng)址(URL)、電子郵件地址、文件名和文件擴(kuò)展名。等寬字體(Constant width)用于代碼示例,以及在正文中引用的程序元素,例如變量、函數(shù)名、數(shù)據(jù)庫名稱、數(shù)據(jù)類型、環(huán)境變量、語句和關(guān)鍵字等。等寬加粗字體和淺灰色文本(Constant width bold and light gray text)僅用于印刷版第10 章,用于在代碼塊中突出代碼差異。OReilly 在線學(xué)習(xí)平臺(tái)(OReilly Online Learning)近40 年來,OReilly Media 致力于提供技術(shù)和商業(yè)培訓(xùn)、知識(shí)和卓越見解,來幫助眾多公司取得成功。公司獨(dú)有的專家和改革創(chuàng)新者網(wǎng)絡(luò)通過OReilly 書籍、文章以及在線學(xué)習(xí)平臺(tái),分享他們的專業(yè)知識(shí)和實(shí)踐經(jīng)驗(yàn)。OReilly 在線學(xué)習(xí)平臺(tái)按照您的需要提供實(shí)時(shí)培訓(xùn)課程、深入學(xué)習(xí)渠道、交互式編程環(huán)境以及來自O(shè)Reilly 和其他200 多家出版商的大量書籍與視頻資料。更多信息,請?jiān)L問網(wǎng)站:https://www.oreilly.com/。聯(lián)系我們?nèi)魏斡嘘P(guān)本書的意見或疑問,請按照以下地址聯(lián)系出版社。美國:OReilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中國:北京市西城區(qū)西直門南大街2 號(hào)成銘大廈C 座807 室(100035)奧萊利技術(shù)咨詢(北京)有限公司本書有專門的網(wǎng)頁,其中列出了勘誤信息、示例代碼及其他相關(guān)資料,可以訪問以下鏈接獲取更多信息:https://oreil.ly/fluent-react。對本書中文版的有任何建議可以發(fā)電子郵件到errata@oreilly.com.cn。欲了解本社圖書和課程的新聞和信息,請?jiān)L問我們的網(wǎng)站http://oreilly.com。我們的Facebook:http://facebook.com/oreilly。我們的Twitter:http://twitter.com/oreillymedia。我們的YouTube:https://youtube.com/oreillymedia。致謝這是我人生中撰寫的第一本書,而我并非孤軍奮戰(zhàn),對此我無比感激。你即將閱讀的內(nèi)容,凝聚了許多才華橫溢之人的智慧和努力。正是他們的付出,才讓這本書得以問世。在此,我衷心感謝他們?yōu)楸緯龀龅呢暙I(xiàn)。請不要跳過這一部分,因?yàn)檫@些人值得你的關(guān)注和感激。首先,我要感謝直接幫助我完成本書的人:? 首先要感謝我的妻子Lea。寫這本書占據(jù)了我大量時(shí)間,犧牲了本該與家人共度的時(shí)光。由于我對這個(gè)主題充滿熱情,并希望將其分享給大家,這本書甚至占用了部分假期和原本可以與妻子相處的機(jī)會(huì)。然而,Lea 始終給予我無限的支持和鼓勵(lì),我對此滿懷感激。? 本書的開發(fā)編輯Shira Evans,來自O(shè)Reilly 的Shira 是一位非常棒的合作伙伴,她始終支持、鼓勵(lì)并理解我,即使在面對諸多延誤時(shí)仍不放棄。由于React 生態(tài)持續(xù)演進(jìn),例如Forget 和服務(wù)端操作的引入,我們需要不斷調(diào)整內(nèi)容,而Shira 始終耐心陪伴、支持著我。對此,我感激不盡。? 我的良師益友Kent C. Dodds(@kentcdodds),他不僅在本書之外給予我長期的指導(dǎo),還為本書撰寫了序言。多年來,Kent 一直是我值得信賴的朋友和導(dǎo)師,我由衷感謝他一直以來的支持和鼓勵(lì)。? 審閱團(tuán)隊(duì)。如果沒有這些審閱人員的細(xì)致入微與專業(yè)精神,這本書絕不可能完成。他們與我并肩作戰(zhàn),傾注了大量心血,我在此深表謝意:─ Adam Rackis (@adamrackis)─ Daniel Afonso (@danieljcafonso)─ Fabien Bernard (@fabien0102)─ Kent C. Dodds (@kentcdodds)─ Mark Erikson (@acemarke)─ Lenz Weber-Tronic (@phry)─ Rick Hanlon II (@rickhanlonii)─ Sergeii Kirianov (@SergiiKirianov)─ Matheus Albuquerque (@ythecombinator)? Meta(原Facebook)的React 團(tuán)隊(duì),感謝他們不懈推動(dòng)React 的發(fā)展,不斷突破技術(shù)邊界,以卓越的工程能力和創(chuàng)新思維,讓React 變得更加強(qiáng)大且易用。特別感謝Dan Abramov(@dan_abramov),他不僅耐心向我講解了打包工具在React 服務(wù)端組件架構(gòu)中的作用,還貢獻(xiàn)了第9 章關(guān)于React服務(wù)端組件的重要內(nèi)容。最后,我要感謝你,作為讀者,愿意閱讀這本書并對其內(nèi)容產(chǎn)生興趣。我希望你在閱讀過程中收獲滿滿,就像我在寫作這本書時(shí)所感受到的喜悅與成長。 Tejas Kumar自2014年起開始編寫React代碼,并在多個(gè)會(huì)議、研討會(huì)和客座講座中分享相關(guān)知識(shí)。他在多家初創(chuàng)企業(yè)中積累了豐富的技術(shù)經(jīng)驗(yàn),并對React的核心概念有著深刻的理解。他熱衷于React布道,樂于幫助他人掌握React的開發(fā)技巧,賦能他們流暢地構(gòu)建React應(yīng)用。 目錄
你還可能感興趣
我要評論
|








