《深入淺出React和Redux》

直接去看書(shū)吧憾股,我覺(jué)得不錯(cuò)鹿蜀,后面的摘錄暫時(shí)先不補(bǔ)了,等全部看完后再抽取一些記錄下

  • 所謂組件荔燎,簡(jiǎn)單說(shuō)耻姥,指的是能完成某個(gè)特定功能的獨(dú)立的、可重用的代碼有咨。

  • React判斷一個(gè)元素是 HTML 元素還是 React組件的原則就是看第一個(gè)字母是否大寫(xiě)。(看react官方文檔也有提到蒸健,這里再記錄一下)

  • 在 HTML 中直接使用 onclick 很不專(zhuān)業(yè)座享,原因如下:(這些問(wèn)題在 JSX 中都不存在)

    • onclick 添加的事件處理函數(shù)是在全局環(huán)境下執(zhí)行的婉商,這污染了全局環(huán)境,很容易產(chǎn)生意料不到的后果渣叛;
    • 給很多 DOM 元素添加 onclick 事件丈秩,可能會(huì)影響網(wǎng)頁(yè)的性能,畢竟淳衙,網(wǎng)頁(yè)需要的事件處理函數(shù)越多蘑秽,性能就會(huì)越低;
    • 對(duì)于使用 onclick 的 DOM 元素箫攀,如果要?jiǎng)討B(tài)地從 DOM 樹(shù)中刪掉的話肠牲,需要把對(duì)應(yīng)的時(shí)間處理器注銷(xiāo),假如忘了注銷(xiāo)靴跛,就可能造成內(nèi)粗泄漏缀雳,這樣的 bug 很難被發(fā)現(xiàn)。
  • 使用事件委托的性能當(dāng)然要比為每個(gè) onClick 都掛載一個(gè)事件處理函數(shù)要高梢睛。

  • React 控制了組件的生命周期肥印,在 unmount 的時(shí)候,自然能夠清除相關(guān)的所有事件處理函數(shù)绝葡,內(nèi)存泄漏也不再是一個(gè)問(wèn)題深碱。

  • UI = render(data)

  • Web前端開(kāi)發(fā)關(guān)于性能優(yōu)化有一個(gè)原則:盡量減少DOM操作。雖然DOM操作也只是一些簡(jiǎn)單的 JavaScript 語(yǔ)句藏畅,但是 DOM 操作會(huì)引起瀏覽器對(duì)網(wǎng)頁(yè)進(jìn)行重新布局敷硅,重新繪制,這就是一個(gè)比 JavaScript 語(yǔ)句執(zhí)行慢很多的過(guò)程墓赴。

  • React利用聲明式的語(yǔ)法竞膳,讓開(kāi)發(fā)者專(zhuān)注于描述用戶界面 “顯示成什么樣子”,而不是重復(fù)思考 “如何去顯示” 诫硕,這樣可以大大提高開(kāi)發(fā)效率坦辟,也讓代碼更加容易管理。

  • 作為一個(gè)合格的開(kāi)發(fā)者章办,不要只滿足于編寫(xiě)出了可以運(yùn)行的代碼锉走,而要了解代碼背后的工作原理;不要只滿足于自己編寫(xiě)的程序能夠運(yùn)行藕届,還要讓自己的代碼可讀而且易于維護(hù)挪蹭。

  • “差勁的程序員操心代碼,優(yōu)秀的程序員操心數(shù)據(jù)結(jié)構(gòu)和它們之間的關(guān)系休偶×豪鳎” —— Linux Torvalds, Linux創(chuàng)始人

  • 毫無(wú)疑問(wèn),如何組織數(shù)據(jù)是程序的最重要問(wèn)題。

  • React組件的數(shù)據(jù)分為兩種词顾,prop 和 state八秃,無(wú)論 prop 或者 state 的改變,都可能引發(fā)組件的重新渲染肉盹。prop 是組件的對(duì)外接口昔驱,state 是組件的內(nèi)部狀態(tài),對(duì)外用 prop上忍,內(nèi)部用 state骤肛。

  • 一個(gè) React 組件通過(guò)定義自己能夠接受的 prop 就定義了自己的對(duì)外公共接口。每個(gè) React 組件都是獨(dú)立存在的模塊窍蓝,組件之外的一切都是外部世界腋颠,外部世界就是通過(guò) prop 來(lái)和組件對(duì)話的。

  • 如果一個(gè)組件需要定義自己的構(gòu)造函數(shù)它抱,一定要記得在構(gòu)造函數(shù)的第一行通過(guò) super 調(diào)用父類(lèi)也就是 React.Component 的構(gòu)造函數(shù)秕豫。如果在構(gòu)造函數(shù)中沒(méi)有調(diào)用 supper(props),那么組件實(shí)例被構(gòu)造之后观蓄,類(lèi)實(shí)例的所有成員函數(shù)就無(wú)法通過(guò) this.props 訪問(wèn)到父組件傳遞過(guò)來(lái)的 props 值混移。很明顯,給 this.props 賦值是 React.Component 構(gòu)造函數(shù)的工作之一侮穿。

  • 說(shuō)是“傻瓜”悼瓮,我倒是覺(jué)得這種純函數(shù)實(shí)現(xiàn)反而體現(xiàn)了計(jì)算機(jī)編程中的大智慧亚再,大智若愚瓜挽。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嫁审,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子克锣,更是在濱河造成了極大的恐慌茵肃,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袭祟,死亡現(xiàn)場(chǎng)離奇詭異验残,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)巾乳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)您没,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人胆绊,你說(shuō)我怎么就攤上這事氨鹏。” “怎么了压状?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵仆抵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)肢础,這世上最難降的妖魔是什么还栓? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任碌廓,我火速辦了婚禮传轰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谷婆。我一直安慰自己慨蛙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布纪挎。 她就那樣靜靜地躺著期贫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪异袄。 梳的紋絲不亂的頭發(fā)上通砍,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音烤蜕,去河邊找鬼封孙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛讽营,可吹牛的內(nèi)容都是我干的虎忌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼橱鹏,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼膜蠢!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起莉兰,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤挑围,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后糖荒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體杉辙,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年寂嘉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奏瞬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泉孩,死狀恐怖硼端,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情寓搬,我是刑警寧澤珍昨,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響镣典,放射性物質(zhì)發(fā)生泄漏兔毙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一兄春、第九天 我趴在偏房一處隱蔽的房頂上張望澎剥。 院中可真熱鬧,春花似錦赶舆、人聲如沸哑姚。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)叙量。三九已至,卻和暖如春九串,著一層夾襖步出監(jiān)牢的瞬間绞佩,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工猪钮, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留品山,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓躬贡,卻偏偏與公主長(zhǎng)得像谆奥,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拂玻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 深入JSX date:20170412筆記原文其實(shí)JSX是React.createElement(componen...
    gaoer1938閱讀 8,048評(píng)論 2 35
  • 最近看了一本關(guān)于學(xué)習(xí)方法論的書(shū)酸些,強(qiáng)調(diào)了記筆記和堅(jiān)持的重要性。這幾天也剛好在學(xué)習(xí)React檐蚜,所以我打算每天堅(jiān)持一篇R...
    gaoer1938閱讀 1,666評(píng)論 0 5
  • GUIDS 第一章 為什么使用React魄懂? React 一個(gè)提供了用戶接口的JavaScript庫(kù)。 誕生于Fac...
    jplyue閱讀 3,519評(píng)論 1 11
  • 朋友讓我看一張非常棒的照片闯第,我就這樣認(rèn)識(shí)了簡(jiǎn)書(shū)簡(jiǎn)叔市栗。我把自己的一張照片放上來(lái),就算給簡(jiǎn)叔的見(jiàn)面禮吧咳短,呵呵呵呵
    liliantao閱讀 192評(píng)論 0 0
  • 教書(shū)先生看向四周填帽,看著學(xué)堂里的學(xué)生們坐得端端正正,這才轉(zhuǎn)身慢慢地走回講臺(tái)咙好,繼續(xù)講學(xué)篡腌。而那被打的胖子看著教書(shū)...
    黎明cy閱讀 379評(píng)論 0 0