React學(xué)習(xí)筆記(一)-- React簡(jiǎn)介

web開(kāi)發(fā)早期

在web開(kāi)發(fā)的早期時(shí)代(據(jù)史書(shū)記載赋元,那段不堪回首的歲月被稱之為web1.0時(shí)代 (╯▽╰)),開(kāi)發(fā)過(guò)程十分的簡(jiǎn)單明快,構(gòu)建web應(yīng)用的大致過(guò)程就是,瀏覽器向服務(wù)器端發(fā)送請(qǐng)求糊昙,然后由服務(wù)器端響應(yīng)請(qǐng)求并返回頁(yè)面內(nèi)容,基本可以概括為:朕(服務(wù)器)給你(瀏覽器)的是你的谢谦,朕不給你的你不能搶释牺。

這種模式下開(kāi)發(fā)者無(wú)需關(guān)心瀏覽器端發(fā)生了什么,通常5個(gè)人以內(nèi)回挽,不分前后端就可以close掉一個(gè)小項(xiàng)目没咙,當(dāng)然是在業(yè)務(wù)不太復(fù)雜的情況下。然而業(yè)務(wù)往往是會(huì)變復(fù)雜滴(個(gè)人感覺(jué)這和熵增原理存在著某些必然聯(lián)系(¬_¬))千劈,當(dāng)業(yè)務(wù)變得復(fù)雜時(shí)祭刚,很多開(kāi)心的事就會(huì)發(fā)僧了,Because往往業(yè)務(wù)一復(fù)雜墙牌,人就得多袁梗,人一多,花樣就多憔古,花樣一多,維護(hù)的成本就會(huì)變大...

還有一個(gè)就是用戶體驗(yàn)問(wèn)題淋袖,在這種模式下很難打造出極佳的用戶體驗(yàn)鸿市,因?yàn)闊o(wú)論用戶想做點(diǎn)什么,都需要向服務(wù)器發(fā)請(qǐng)求,并等待服務(wù)器端的響應(yīng)焰情,這會(huì)導(dǎo)致用戶失去在頁(yè)面上所積累的狀態(tài)陌凳。畢竟我們是服務(wù)行業(yè),服務(wù)行業(yè)的主旨是什么内舟?——客戶就是上帝合敦。上帝要是不開(kāi)心了,你還想不想吃小饅頭了验游。因此為了小饅頭充岛,,耕蝉,Σ( ° △ °|||)︴崔梗,,垒在,啊呸蒜魄,不對(duì),是為了更好的用戶體驗(yàn)3∏谈为!人們開(kāi)始開(kāi)發(fā)類庫(kù)。

web1.0

類庫(kù)

為了更好的用戶體驗(yàn)踢关,人們開(kāi)始開(kāi)發(fā)類庫(kù)伞鲫,使用JavaScript在瀏覽器端渲染應(yīng)用。這些類庫(kù)使用的方法也不盡相同耘成,簡(jiǎn)單的使用帶參數(shù)的模板榔昔,復(fù)雜的就完全掌控整個(gè)應(yīng)用。隨著開(kāi)發(fā)者在越來(lái)越大的項(xiàng)目中使用這些類庫(kù)瘪菌,應(yīng)用也變得越來(lái)越難以把握撒会,因?yàn)檫@些應(yīng)用是一系列相互作用的結(jié)果。

React簡(jiǎn)介

React 是一個(gè) Facebook 和 Instagram 用來(lái)創(chuàng)建用戶界面的 JavaScript 庫(kù)师妙。發(fā)源自FaceBook的PHP框架XHP的一個(gè)分支诵肛,XHP作為一個(gè)PHP框架,其主旨在于每次有請(qǐng)求進(jìn)來(lái)時(shí)渲染整個(gè)頁(yè)面默穴。React的產(chǎn)生是為了把這種重新渲染整個(gè)頁(yè)面的PHP式工作流帶到客戶端應(yīng)用中來(lái)怔檩。

React_Logo
React_Logo

React本質(zhì)上是一個(gè)“狀態(tài)機(jī)”,可以幫助開(kāi)發(fā)者管理復(fù)雜的隨著時(shí)間而變化的狀態(tài)蓄诽。它以一種精簡(jiǎn)的模型實(shí)現(xiàn)了這一點(diǎn)薛训。React只關(guān)心兩件事:

  • 最小化重繪DOM
  • 單事件處理器

最小化重繪DOM

React不處理Ajax,路由和數(shù)據(jù)存儲(chǔ)仑氛,也不規(guī)定數(shù)據(jù)的組織方式乙埃。如果非要問(wèn)它是什么闸英,我們可以把它看做MVC里的“V”。React的精簡(jiǎn)允許你將其集成到各種各樣的系統(tǒng)中介袜。我們幾道甫何,在頁(yè)面渲染過(guò)程中,頻繁的操作DOM元素遇伞,會(huì)導(dǎo)嚴(yán)重影響頁(yè)面性能辙喂。而React通過(guò)一個(gè)虛擬的DOM實(shí)現(xiàn)了一個(gè)非常強(qiáng)大的渲染系統(tǒng),在React中可以做到對(duì)DOM的最小化重繪(_( ?Д?)?江湖傳言可以做到只更新不讀取...)鸠珠。

React把視圖更新簡(jiǎn)化為一個(gè)render函數(shù)巍耗,render函數(shù)只關(guān)心兩個(gè)參數(shù),分別是配置項(xiàng)和狀態(tài)跳芳。render函數(shù)讀入當(dāng)前狀態(tài)芍锦,并返回一個(gè)快速的DOM描述。只要React被告知狀態(tài)有變化飞盆,其會(huì)重新運(yùn)行函數(shù)娄琉,計(jì)算出新的DOM描述,然后判斷差異后吓歇,進(jìn)行最少的必要更新孽水。

單事件處理器

在web開(kāi)發(fā)過(guò)程當(dāng)中,過(guò)多的事件處理器會(huì)增大程序的開(kāi)銷城看,影響應(yīng)用的性能女气。通常我們會(huì)使用事件委托來(lái)減少事件處理器的數(shù)量。而React在整個(gè)應(yīng)用中只使用單個(gè)的事件處理器测柠,并且會(huì)把所有的事件委托到這個(gè)事件處理器上炼鞠,這一點(diǎn)也大大提升了React的性能。

參考

【1】《React引領(lǐng)未來(lái)的用戶界面開(kāi)發(fā)框架》
【2】Web 研發(fā)模式演變
【3】為什么使用 React?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末轰胁,一起剝皮案震驚了整個(gè)濱河市谒主,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赃阀,老刑警劉巖霎肯,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異榛斯,居然都是意外死亡观游,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)驮俗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)懂缕,“玉大人,你說(shuō)我怎么就攤上這事王凑√嵊叮” “怎么了吮蛹?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)拌屏。 經(jīng)常有香客問(wèn)我,道長(zhǎng)术荤,這世上最難降的妖魔是什么倚喂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮瓣戚,結(jié)果婚禮上端圈,老公的妹妹穿的比我還像新娘。我一直安慰自己子库,他們只是感情好舱权,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著仑嗅,像睡著了一般宴倍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上仓技,一...
    開(kāi)封第一講書(shū)人閱讀 52,255評(píng)論 1 308
  • 那天鸵贬,我揣著相機(jī)與錄音,去河邊找鬼脖捻。 笑死阔逼,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的地沮。 我是一名探鬼主播嗜浮,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼摩疑!你這毒婦竟也來(lái)了危融?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤未荒,失蹤者是張志新(化名)和其女友劉穎专挪,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體片排,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寨腔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了率寡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片迫卢。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖冶共,靈堂內(nèi)的尸體忽然破棺而出乾蛤,到底是詐尸還是另有隱情每界,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布家卖,位于F島的核電站眨层,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏上荡。R本人自食惡果不足惜趴樱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望酪捡。 院中可真熱鬧叁征,春花似錦、人聲如沸逛薇。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)永罚。三九已至啤呼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間尤蛮,已是汗流浹背媳友。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留产捞,地道東北人醇锚。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像坯临,于是被迫代替她去往敵國(guó)和親焊唬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,283評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)看靠、插件赶促、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,119評(píng)論 4 61
  • 原教程內(nèi)容詳見(jiàn)精益 React 學(xué)習(xí)指南,這只是我在學(xué)習(xí)過(guò)程中的一些閱讀筆記挟炬,個(gè)人覺(jué)得該教程講解深入淺出鸥滨,比目前大...
    leonaxiong閱讀 2,842評(píng)論 1 18
  • 睡完一大覺(jué)起來(lái),身上的疲憊已經(jīng)退去谤祖,但心情卻依舊很好婿滓。又是一個(gè)艷陽(yáng)高照天,我喜歡晴天萬(wàn)里碧空中總給人以無(wú)限的現(xiàn)象粥喜,...
    橙樂(lè)天閱讀 569評(píng)論 12 7
  • 人人都渴望成功凸主,但追求成功的道路卻復(fù)雜又艱難,最簡(jiǎn)單的取勝之道是:提升格局额湘,讓我們短時(shí)間內(nèi)成為人生贏家卿吐。 簡(jiǎn)單易行...
    Connie1314鄧雅之閱讀 288評(píng)論 1 3