<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [toc] ## React組件優化 ### 屬性傳遞優化 傳遞參數的時候要少傳,并且公用一份數據 ![](https://box.kancloud.cn/2668babae85c697ed71bc7833b5ef518_497x170.png) 或則直接使用 ``` //類中 handleClick=()=>{ } ``` 不僅綁定事件是這樣,一般的屬性傳遞也要注意 ![](https://box.kancloud.cn/da6b5668ab90aef9ff8427a86e43b2db_656x252.png) 可以放在構造函數里(只會生成一次) 另外屬性往下傳遞時,傳遞需要的部分,不要整個就往下傳了。 ### 多組件優化 只要父組件重新渲染,子組件也會重新渲染 ![](https://box.kancloud.cn/9719527132e6fbae6182863638a162f0_588x341.png) #### shouldComponentUpdate So,這種情況就輪到我們的`shouldComponent`登場了 ##### immutable 在shouldComponetUpdate中如果我們要比較的是兩個層級比較深的對象,會很難操作的,需要遞歸比較。 我們不能直接obj1==obj2這樣比較,因為如果我們改變obj1是通過obj1.xx這樣改變的,那么obj2仍然是obj1的地址,這樣判斷就不會放行渲染了,縱然內容已經改變。 而如果我們的obj1是被替換成一個新的obj2,這樣雖然不會存在地址相同的問題,但可能他們的內容又是相同的, 故,這就輪到`immutable.js`登場了 - Map 類似于對象 - List 有序可重復的列表 類似于數組 - 無需不可重復的 類似于es6 的set #### PureComponent 如果只是`props`(非對象)沒有`state`的情況,我們可以讓子組件繼承`PureComponent`,會自動在shouldComponent觸發時比較新舊`props` ### key 不要用索引作為key 因為如果一個數組`[1,2,3,4]`,你把第一項干掉,后面的項的索引都會往前移,但其實它們的內容并沒有改變 ## Redux 性能優化 ### reselect ![](https://box.kancloud.cn/cb793de4712e0bd68cec1ac94294f5d2_526x541.png) 第一個參數也可以是一個數組 ![](https://box.kancloud.cn/18ccdcd48eb6af7eed4d68f191fad9a0_513x340.png) ## chrome性能檢測 首先在url末尾添加`react_perf` ![](https://box.kancloud.cn/8e60843fe29f5c75bff47677d8f9a3b0_227x31.png) 接著點開`Performance`,點擊`record`進行檢測 ![](https://box.kancloud.cn/d44dbf72662005d5503d114d489d8dda_515x394.png) 選中要查看的節點 點開UserTiming ![](https://box.kancloud.cn/52c7abe2e4248ecc275627ba30944cfd_657x284.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看