react應(yīng)用是通過(guò)重復(fù)渲染來(lái)實(shí)現(xiàn)用戶交互,利用virtualDOM石咬,讓每次渲染都支重新渲染最少的DOM零蓉。
web前端開發(fā)關(guān)于性能優(yōu)化的一個(gè)原則:盡量減少DOM的操作。
DOM樹是對(duì)HTML的抽象颂斜,那virtual DOM就是對(duì)DOM樹的抽象。virutal DOM不會(huì)觸及瀏覽器的部分拾枣,只存在js空間的樹形結(jié)構(gòu)沃疮,每次自上而下渲染react組件時(shí),會(huì)對(duì)比這一次產(chǎn)生的virtualDOM和上一次渲染的Virtual DOM梅肤,對(duì)比就會(huì)發(fā)現(xiàn)差別司蔬,然后修改真正的DOM樹時(shí)就只需觸及差別中的部分就行。
組件劃分的原則:高內(nèi)聚姨蝴,低耦合俊啼。
react組件的數(shù)據(jù)分為兩種:prop和state;無(wú)論prop和state的改變,都可能引發(fā)組件的重新渲染左医。prop是組件的對(duì)外接口授帕,state是組件的內(nèi)部狀態(tài)。
babel-react-optimize 優(yōu)化代碼