React學(xué)習(xí)(4)-渲染元素

在React App里面,最小的構(gòu)建單位就是元素。

一、將元素渲染到DOM里去

假設(shè)我們在HTML里面有個div:

<div id="root"></div>

然后我們調(diào)用ReactDOM.render()來把一個元素渲染到這個div里面去:

const element = <h1>hello </h1>;
ReactDOM.render(
  element,
  document.getElementById('root')
);

二、更新已渲染的元素

React里面的元素,是不可改變的。一旦創(chuàng)建了元素,就不能改變它的屬性和子元素。
唯一可以更新UI的操作,那就是再創(chuàng)建一個新的元素,然后扔給ReactDOM.render(),再去渲染一遍。

function tick() {
  const element = (
    <div>
      <h1>Hello world. </h1>
      <h2>It is {new Date().toLocaleTimeString() }. </h2>
    </div>
  );
  ReactDOM.render(
    element,
    document.getElementById('root')
  );
}

setInterval(tick, 1000);

上述代碼,一執(zhí)行,這個Hello world下面的時間就開始走了。

image.png

三、只更新需要更新的部分

雖然ReactDOM.render()是把整個元素重新渲染了一遍,但并不表示它是完全從頭開始干活。為了提高效率,避免頁面閃爍,它還是用最小的代價(jià)來更新渲染的。從chrome瀏覽器的審查里面我們可以看到,上面的頁面啊,只更新了一個時間,其他都沒動。


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容