男的女的做那個(gè)的視頻網(wǎng)站百度導(dǎo)航下載2022最新版
難度級(jí)別:初級(jí)及以上 提問概率:60%
如果把React組件看做一個(gè)函數(shù)的話,props更像是外部傳入的參數(shù),而state更像是函數(shù)內(nèi)部定義的變量。那么他們還有哪些更深層次的區(qū)別呢,我們來看一下。
首先說props,他是組件外部傳入的參數(shù),我們知道React非常核心的一個(gè)思想就是組件化,它希望我們?cè)镜捻撁婵梢员徊鸱譃楦喔?dú)立的子組件,從而有效的實(shí)現(xiàn)可復(fù)用性。那么一個(gè)大的頁面拆分為多個(gè)子組件,就少不了從原本頁面中為子組件傳入props參數(shù)。但props是只讀的,不可被修改,只能通過父組件修改外部數(shù)據(jù),再通過單向數(shù)據(jù)流的形式將修改后的props重新傳入子組件。不過也不能單純的把props看做是數(shù)據(jù),很多時(shí)候父子組件的回調(diào)函數(shù)也可以通過它來進(jìn)行傳遞。
再說state,它是一個(gè)組件內(nèi)部的私有狀態(tài),與Vue不同的是,React并不支持this.state直接賦值,需要通過setState方法來進(jìn)行改變,constructor周期函數(shù)內(nèi)則是初始化state的地方。在React組件中,很多組件內(nèi)部會(huì)定義state,被稱為有狀態(tài)組件,反之,則是無狀態(tài)組件。