react 經(jīng)典面試題

1阅羹、react生命周期及相關(guān)用法

react的生命周期分為初始化階段为居、運(yùn)行階段、銷毀階段。
(1)初始化階段

  componentWillMount :實(shí)例掛載之前
  Render : 渲染組件
  componentDidMount : 實(shí)例掛載完成 可以與后臺(tái)進(jìn)行初始化數(shù)據(jù)交互

(2)運(yùn)行階段

  componentWillReceiveProps : 父組件改變時(shí)調(diào)用
  sholudComponentUpdate:主要是用來手動(dòng)阻止組件渲染籍滴,一般在這個(gè)函數(shù)中做組件的性能優(yōu)化
  componentWillUpdate:組件數(shù)據(jù)更新前調(diào)用
  componentDidUpdate: 組件數(shù)據(jù)更新完成時(shí)調(diào)用

(3)銷毀階段

   componentUnmount:銷毀階段酪夷,一般用來銷毀不用的變量或者是解除無用定時(shí) 
   器以及解綁無用事件,防止內(nèi)存泄漏問題

2异逐、運(yùn)行階段生命周期的調(diào)用順序

    componentWillReceiveProps --> shouldComponentUpdate --> componentWillmount --> componentDidUpdate 

3捶索、react中keys的作用

 keys是react中用于追蹤哪些列表元素被修改,刪除或者被添加的輔助標(biāo)識(shí)灰瞻,
在diff算法中 keys用來判斷該元素節(jié)點(diǎn)是被移動(dòng)過來的還是新創(chuàng)建的元素,減少不必要的重復(fù)渲染

4辅甥、setState第二個(gè)參數(shù)的作用

 因?yàn)閟etState是一個(gè)異步的過程酝润,所以說執(zhí)行完setState之后不能立即更改state里面            
 的值,如果需要對(duì)state數(shù)據(jù)更改監(jiān)聽璃弄,setState提供第二個(gè)參數(shù)要销,就是用來監(jiān)聽state 
 里面數(shù)據(jù)的更改,當(dāng)數(shù)據(jù)更改完成夏块,調(diào)用回調(diào)函數(shù)

5疏咐、vue和react的區(qū)別

    1、react嚴(yán)格上針對(duì)的是mvc模式的view層脐供,vue則是mvvm模式
    2浑塞、操作dom的方式不同,vue使用的是指令操作dom政己、react是通過js進(jìn)行操作
    3  酌壕、數(shù)據(jù)綁定不同,vue實(shí)現(xiàn)是的雙向綁定歇由,react的數(shù)據(jù)流動(dòng)是單向的
    4卵牍、react中state是不能直接改變的,需要使用setStata改變沦泌,
    vue中的state不是必須的糊昙,數(shù)據(jù)主要是有data屬性在vue對(duì)象中管理的

6、react中的高階函數(shù)

  高階函數(shù)就是一個(gè)純js且沒有副作用的函數(shù)
  高階組件就是一個(gè)函數(shù)谢谦,且該函數(shù)接受一個(gè)組件昨?yàn)閰?shù)释牺,并返回一個(gè)新的組件

相關(guān)資料:https://blog.csdn.net/baidu_38151187/article/details/79884613

7、react生命周期中他宛,最適合于服務(wù)端進(jìn)行數(shù)據(jù)交互的是哪個(gè)函數(shù)

 componentDidMount:在這個(gè)階段船侧,實(shí)例和dom都已經(jīng)掛載完成,可以進(jìn)行相關(guān)的dom操作

8厅各、react性能優(yōu)化階段函數(shù)是哪一個(gè)镜撩?

 shouldComponentUpdate

9、react性能優(yōu)化的方案

1、重寫shouldComponetUpdate來避免不必要的dom操作
2袁梗、使用production 版本的react.js
3宜鸯、使用key來幫助React識(shí)別列表中所有子組件的最小變化

10、react中的組件傳值

 父?jìng)髯樱ńM件嵌套淺):父組件定義一個(gè)屬性遮怜,子組件通過this.props接收
 子傳父:父組件定義一個(gè)屬性淋袖,并將一個(gè)回調(diào)函數(shù)賦值給定義的屬性,
然后子組件進(jìn)行調(diào)用傳過來的參數(shù)锯梁,并將參數(shù)傳進(jìn)去即碗,在父組件的回調(diào)函數(shù)中,即可  獲得子組件傳過來的值

11陌凳、Es6中箭頭函數(shù)與普通函數(shù)的區(qū)別

1剥懒、普通function 的大亨們?cè)谧兞刻嵘惺亲罡叩模^函數(shù)沒有函數(shù)提升
2合敦、箭頭函數(shù)沒有this arguments
3初橘、箭頭函數(shù)不能作為構(gòu)造函數(shù),不能被new 沒有property
4充岛、call和apply方法只有參數(shù)保檐,沒有作用域

12、什么是閉包崔梗?閉包有什么危害夜只?如何解決閉包帶來的危害?

 簡(jiǎn)單來說炒俱,閉包就是一個(gè)定義在函數(shù)內(nèi)部的函數(shù)盐肃,因?yàn)閖s中存在作用域的問題,
所以在函數(shù)內(nèi)部定義的變量在函數(shù)外部是沒有辦法直接獲取到的权悟,
而閉包就是溝通函數(shù)內(nèi)部和外部的橋梁砸王,這樣在函數(shù)外部可以得到函數(shù)內(nèi)部的值,
并且閉包可以實(shí)現(xiàn)函數(shù)屬性和方法的私有化

閉包的危害

因?yàn)殚]包會(huì)將內(nèi)部變量?jī)?chǔ)存在內(nèi)存中峦阁,如果長(zhǎng)時(shí)間不清除的話會(huì)造成內(nèi)存泄漏谦铃,影響程序的性能
解決方法: 對(duì)于不使用的變量及時(shí)清除
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市榔昔,隨后出現(xiàn)的幾起案子驹闰,更是在濱河造成了極大的恐慌,老刑警劉巖撒会,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘹朗,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡诵肛,警方通過查閱死者的電腦和手機(jī)屹培,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人褪秀,你說我怎么就攤上這事蓄诽。” “怎么了媒吗?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵仑氛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我闸英,道長(zhǎng)锯岖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任自阱,我火速辦了婚禮嚎莉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘沛豌。我一直安慰自己,他們只是感情好赃额,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布加派。 她就那樣靜靜地躺著,像睡著了一般跳芳。 火紅的嫁衣襯著肌膚如雪芍锦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天飞盆,我揣著相機(jī)與錄音娄琉,去河邊找鬼。 笑死吓歇,一個(gè)胖子當(dāng)著我的面吹牛孽水,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播城看,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼女气,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了测柠?” 一聲冷哼從身側(cè)響起炼鞠,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轰胁,沒想到半個(gè)月后谒主,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赃阀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年霎肯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡姿现,死狀恐怖肠仪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情备典,我是刑警寧澤异旧,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站提佣,受9級(jí)特大地震影響吮蛹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拌屏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一潮针、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧倚喂,春花似錦每篷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至舱权,卻和暖如春矗晃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宴倍。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工张症, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鸵贬。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓堡纬,卻偏偏與公主長(zhǎng)得像缨叫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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