千鋒教育web前端高頻面試題視頻教程,kerwin大話前端面試秘籍(附答案)
2023-07-12 16:17 作者:有志者事竟成1111 | 我要投稿

react高頻面試題(個(gè)人見(jiàn)解,如有錯(cuò)誤,請(qǐng)指正)
1、類(lèi)組件和函數(shù)式組件的區(qū)別
類(lèi)組件是面向?qū)ο箝_(kāi)發(fā) 可以拿到實(shí)例 基于實(shí)例做各種操作
函數(shù)式組件是面向過(guò)程開(kāi)發(fā)?沒(méi)有實(shí)例 所以需要借助hock函數(shù)來(lái)完成模擬生命周期鉤子函數(shù)和解決無(wú)狀態(tài)的問(wèn)題
2、react中setState?
直接修改狀態(tài),視圖是不會(huì)刷新的,因?yàn)閞eact不是mvvm,通過(guò)setState改變的狀態(tài),視圖是會(huì)刷新的,但是值得注意的是,setState修改狀態(tài)是同步的,修改完之后生成虛擬dom,加載到頁(yè)面視圖是異步的,沒(méi)有辦法立即拿到更新后的dom,但是setState的第二個(gè)參數(shù)是一個(gè)回調(diào)函數(shù),可以在這里獲取更新后的dom
3、虛擬dom的優(yōu)劣?
利用對(duì)象的結(jié)構(gòu)描述真實(shí)的dom結(jié)構(gòu),在每一次更新之前,利用filber算法對(duì)比虛擬dom,注意這里需要一個(gè)key,用于提高對(duì)比的性能,同層同key比較效率更高,例如:循環(huán)一個(gè)長(zhǎng)度為10 的li,真是dom會(huì)觸發(fā)10次,虛擬dom只會(huì)觸發(fā)一次
標(biāo)簽: