在react中,element是最小的構建單元,是一個對象,不是DOM;element可以在程式碼中使用jsx進行定義,語法為“const element =...”;Element被創建之後是不可以被改變的,如果要改變DOM只能新建立一個Element。
本教學操作環境:Windows10系統、react17.0.1版、Dell G3電腦。
Element
1.Element是react中最小的建置單元,是物件不是DOM,創建的代價比較低。
(1)通常我們在程式碼中使用JSX定義一個Element:
const element = <h1>Hello, world</h1>;(2)使用ReactDOM.render來渲染
ReactDOM.render( element, document.getElementById('root') );2.一旦Element被創建之後,是不可被改變的,它就像電影中的幀,如果要改變DOM的顯示,只能新創建一個Element。
3.React會比較前後兩個Element,只更新需要更新的內容。
擴展知識:
虛擬DOM
1.React並不是直接建構DOM元素的,而是透過創造與DOM結構類似的物件。然後根據這個結構,也就是React DOM來渲染真正的DOM。
2.有改變的時候,新建對象,然後使之與之前的結構對比,記錄下兩者的差異,這裡可以看下diff演算法。
3.然後根據記錄的差異更新DOM。
ReactElement
1、虛擬'DOM';
2、本質是一個不可變的物件;
type屬性:如果是字串如'h1',表示一個DOM節點,它的props屬性對於DOM節點的屬性.若type屬性是一個表示組件的
函數或類別時,它表示一個元件;
3.兩種類型的ReactElement可以互相嵌套,彼此混合描述DOM樹;