<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【每日一題】React里的context

          共 1197字,需瀏覽 3分鐘

           ·

          2021-08-24 02:45

          人生苦短,總需要一點儀式感。比如學(xué)前端~

          Context 有哪些屬性?

          • createContext 創(chuàng)建 Context 對象
          • Provider 將 context 的值傳遞給消費組件
          • contextType 掛載在組件上,屬性會被賦值為由React.createContext()創(chuàng)建的 Context 對象,可以使用 this.context 來消費最近 Context 上的那個值
          • Consumer 訂閱 context 的變更,需要函數(shù)作為子元素
          • displayName 作為 context 的屬性,ReactDevTools 使用該字符串來確定 context 要顯示的內(nèi)容

          怎么使用 Context 開發(fā)組件?

          • 父組件創(chuàng)建 Context,子組件可以通過指定 contextType 拿到最近父組件的 context
          • 使用生產(chǎn)消費模式的 Provider 包括子組件,子組件通過 props 獲取 context
          • 使用 Consumer, 接收回調(diào)函數(shù),可以拿到 context

          除了實例的屬性可以獲得 Context 外,哪些地方還能直接獲取 Context ?

          • constructor
          • 生命周期 :
            • componentWillReceiveProps(nextProps,nextContext)
            • shouldComponentUpdate(nextProps ,nextState,nextContext)
            • componentWillUpdate(nextProps, ,nextState, nextContext)

          為什么 React 并不推薦我們優(yōu)先考慮使用 Context?

          1. Context 目前并未完善,會在后面的版本中有很大的變化,為了給升級帶來巨大的影響
          2. Context 會破壞組件樹之間的依賴關(guān)系
          3. Context 的值更新要依賴 setState/useState,這并不可靠,因為中間的組件可能會改變它,導(dǎo)致其他組件不能保證 context 的更新

          END
          愿你歷盡千帆,歸來仍是少年。


          讓我們一起攜手同走前端路!

          ● 工作中常見頁面布局的n種實現(xiàn)方法

          ● 三欄響應(yīng)式布局(左右固寬中間自適應(yīng))的5種方法

          ● 兩欄自適應(yīng)布局的n種實現(xiàn)方法匯總

          ● 工作中常見的兩欄布局案例及分析

          ● 垂直居中布局的一百種實現(xiàn)方式

          ● 常用九宮格布局的幾大方法匯總

          ● 為什么操作DOM會影響WEB應(yīng)用的性能?

          ● 移動端滾動穿透的6種解決方案

          ● Vue + TypeScript 踩坑總結(jié)

          瀏覽 67
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美精品 - 91爱爱 | 黄网站免费看欧美 | 欧美日韩一级片电影 | 成人毛片女人AAA久久 | 奇米无码在线 |