博客 / 詳情

返回

code-splitting

要知道按需加載分2種類型的文件

  1. 按需加載組件
  2. 按需加載redux模塊

我們平時用的loadable只是按需加載其中的組件

按需加載組件有4種方法:

  1. bundle-loader
    代碼搞得太長
    image.png
  2. react-loadable
  3. 在react-v16.6之後可以使用React.lazy和React.Suspense替換react-loadable
    carbon.png

    至於替換後的優點,目前只知道減少了2k大小的react-loadable庫。。

  4. 自定義lazyComponent

    carbon (1).png

按需異步加載redux模塊

精髓:replaceReducer

Redux store 的動態注入

使用dva時,如何動態注入store

精髓:dynamic

carbon (2).png

看下dynamic源碼可以看到也是利用了replaceReducer改寫reducer和saga。其思路跟Redux store 的動態注入一樣。

參考:

  1. React Router v4 之代碼分割:從放棄到入門
  2. react按需加載
  3. 在react-router4中進行代碼拆分(基於webpack)
  4. 使用 React.Suspense 替換 react-loadable
  5. 從boilerplate中學到的redux裏replaceReducer的按需使用
  6. Redux store 的動態注入
  7. dva-dynamic使用與實現
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.