<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      react 之 fiber 架構

      一、為什么要用 fiber架構

       在react16 之前,react是用 diff 算法對vitrulDom進行對比更新渲染,這種 diff 算法對比 如果遇到需要大量時間執行的方法任務時,就會造成頁面卡頓

      二、什么是 fiber 架構

       fiber架構簡單點說就是 任務切片(一個耗時任務在瀏覽器空閑時,分多次執行),這樣就在用戶感官上頁面流暢不卡頓

      瀏覽器卡頓判斷標準:

       正常情況下人眼感受到的 每秒 60幀,也就是16.6ms/幀,如果超過超過這個值,就會感受到卡頓,如果說某個任務耗時超過16.6ms就會造成頁面暫時卡頓

      fiber怎么做:

        fiber 架構會把一個要耗時任務會分解成無數個執行只需大概5ms的任務片段,在瀏覽器空閑時執行

      如何判斷瀏覽器是否空閑:

        瀏覽器有個API叫  requestIdleCallback 

       requestIdleCallback回調函數: 回調函數是在主線程空閑時被調用的函數。每次調用時,都會傳入一個IdleDeadline對象,該對象提供一個timeRemaining()方     法,用來檢測當前幀中剩余的空閑時間。

      注意:requestIdleCallback 是一個宏任務,在事件列表中是最后執行的

      but?。?!react 并沒有使用瀏覽器原生的 requestIdleCallback 方法(因為瀏覽器兼容,目前只要chorm支持)

      react 而是用了  MessageChannel 進行任務調度

      什么是 MessageChannel?

      MessageChanne設計初衷是為了方便 我們在不同的上下文之間進行通訊,例如web Worker,iframe
      它提供了兩個端口(port1 和 port2),通過這些端口,消息可以在兩個獨立的線程之間雙向傳遞

       

      const channel = new MessageChannel();
      const port1 = channel.port1;
      const port2 = channel.port2;
      
      // 設置 port1 的消息處理函數
      port1.onmessage = (event) => {
          console.log('Received by port1:', event.data);
          port1.postMessage('Reply from port1'); // 向 port2 發送回復消息
      };
      
      // 設置 port2 的消息處理函數
      port2.onmessage = (event) => {
          console.log('Received by port2:', event.data);
      };
      
      // 通過 port2 發送消息給 port1
      port2.postMessage('Message from port2');

       

       

      react 是實現是復雜的,他要設計任務執行優先級(優先級設計包含過期時間、是否用戶操作、組件優先級等)

       

      三、fiber 如何中斷任務

       fiber 分片任務執行的兩個階段:

      1、調度:任務中斷可以在調度階段進行

      2、提交:提交階段任務不能中斷

      posted @ 2024-10-05 11:53  尼古拉斯-富貴  閱讀(223)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品99精品久久免费| 久久综合激情网| 亚洲国产午夜精品福利| 好吊视频一区二区三区| 国产老熟女视频一区二区| 国产一卡2卡三卡4卡免费网站| 丰满人妻熟妇乱又伦精品软件| 亚洲一级特黄大片在线观看| 国99久9在线 | 免费| 无套中出极品少妇白浆| 国产老肥熟一区二区三区| 麻豆精品一区二区综合av| 荔浦县| 中文国产人精品久久蜜桃| 免费午夜无码片在线观看影院| 罗源县| 国产一区二区三区精品综合 | 大桥未久亚洲无av码在线| 国产av日韩精品一区二区| 成年女人免费碰碰视频| 武装少女在线观看高清完整版免费| 国产美女69视频免费观看| 国产中文字幕久久黄色片| 人妻被猛烈进入中文字幕| 大地资源中文第二页日本| 亚洲自拍偷拍中文字幕色| 无码人妻丝袜在线视频| 偷看少妇自慰xxxx| 久久中文字幕日韩无码视频| 激,情四虎欧美视频图片| 亚洲a免费| 韩国午夜福利片在线观看| 精品无码久久久久久久久久| 日本一道一区二区视频| 黑人巨大亚洲一区二区久| 欧美奶涨边摸边做爰视频| 亚洲色欲色欱WWW在线| 秋霞人妻无码中文字幕| 熟妇女人妻丰满少妇中文字幕| 蚌埠市| 17岁日本免费bd完整版观看|