react階段性總結

2021-09-21 02:08:02 字數 2121 閱讀 1623

react 是一種以資料為驅動的大檢視,提供了一種高效能,元件化的技術解決方案。

1. 資料為驅動:在 react 中任何檢視的改變,都**於 state 或 props 的改變所引起的

class

template

extends

component;}

render()

/>)}

}export default template;

class

abcextends

component;}

render()

<

/div>;}

}export default abc;

高效能:react 實現了一套虛擬dom樹和diff 演算法,包裝了dom的每次更新都是以一種最小代價去進行更新

元件化:react 的可復用體現在元件之間的組合而不是繼承,這個就像樂高積木一樣,開發人員通過對業務的理解,把任意的元件進行組合,形成乙個完成的功能。

在react中,開發人員的關注點只有兩點:乙個是資料來源,乙個是元件。

2.1 元件的分類

函式元件: 又稱無狀態元件,所有的資料都來自於 props, 沒有 state, 也無法呼叫生命週期函式, 更沒有 this, 它是乙個純函式,接受 props 渲染 dom, 它不關注 除 ui 之外的邏輯。我的理解是可以把函式元件當作乙個模版元件。

const abc =

(props)

=>

export default abc

class 元件: 是我們最常使用的元件,它有自己的資料來源 state, 有生命週期函式,有this的呼叫。

class

template

extends

component;}

render()

/>)}

}export default template;

什麼場景使用 函式元件,什麼場景使用 class 元件?

當元件需要儲存元件的自己資料狀態時,考慮 class 元件。只要表單裡面有增刪就用class

當元件需要使用生命週期函式時,例如:進行資料請求, 考慮 class 元件。

除了以上的情況,其餘的可以考慮 函式元件。什麼操作都沒有,就獲取個資料

react 的資料**於兩個地方,乙個是 state, 乙個是 props, 但是在現實開發中,我們發現元件的巢狀可能很深這個時候如果我們一直通過 props 進行傳遞,那麼元件之間的關係就耦合度很高了, 開發人員進行維護也變的異常的複雜,基於這種情況,react 社群提供了 redux 的解決方案, react 本質是在根節點注入了資料,並且把這個資料沿著元件樹一直傳播下去,在任何元件中都能獲取到 redux的資料, redux的本質還是 props。 除了上述的三種,我們還有 content 的解決方法。其實 redux 就是對 content 的包裝。所以綜合來看就是只有兩種,接下來我們看看 state 和 props.

資料的傳遞是從上到下的(通過 props 進行傳遞),就像乙個瀑布一樣,每乙個元件的 state 就像是在任意一點上給瀑布增加額外的水源,但是它只能向下流動。

props 是唯讀的,不能被修改。

state 必須通過 setstate 才能進行修改,並且 state 的修改是非同步的,react 會把多個 setstate 合併成乙個,一塊進行更新。

應該保持 state 的乾淨,簡潔。反例參考:src/module-osm/budget/declare/declareform.js

如果變數是在 props 中獲取的,那就不是乙個 state

如果變數在render中沒有使用到,那就不是乙個state

如果變數在整個生命週期中都保持不變時,那就不是乙個state

階段性總結

今天聽學長交流了一些人生的經驗,便有了一些感觸,加上對自己最近的學習狀態的總結,就寫一篇部落格給自己一點指示。最近渾渾噩噩的,有幾次考試也沒考好,考後也沒總結。晚自習本想刷一些題,複習一下,或是學習一點技術。看見其他同學在打擺,便動搖了。最後心中也只是徒留深深的罪惡感。所以我也是時候對自己的未來進行...

階段性總結

感覺上個星期還挺痛苦的,因為要練演算法,每個人都告訴我說演算法很重要很重要,但是演算法對我來說就像是一根很亂的神經,一觸就炸了,可我的驕傲還不允許我放棄。在leetcode上練習的時候是直接告訴用什麼方法,在寫藍橋杯演算法的時候就像是閱讀理解,經常讀不懂是什麼意思,要不就是理解錯誤,追根究底還是做的...

自考階段性總結

週六日這兩天的自學考試就這樣隨著落日再是告一段落,這是自己經歷的第三次自考。就著這一步走來的歷程著實令人緊張而又亢奮的,一次次的考試,乙個個課程的考試,讓我們朝著自考畢業證更進一步。總體而言,自學考試的經歷實在難稱完美。頓時轉折自己的學習需要不斷總結,需要針對這一屆的學習方法來個總結,思考這樣的學習...