首先umijs高度封裝了路由,使路由變的更靈活,開發中幾乎不用過多理會,dva封裝了redux 和 redux-saga的資料流方案!
1.全域性佈局
在layouts檔案裡面的index.js
2.約定式路由和自定義路由
1.約定式路由即是在pages資料夾下建立對應的檔案既會生產相應的路由 umijs.org/zh/guide/ro…
2.自定義式路由在 umirc.js中routes裡面配置相應的路由,也可以在pages裡面新建一個router.js檔案去配置
3.對於dva 中models這塊的理解這裡以pages下的about為列,具體還是要看dva官網https://dvajs.com/guide/introduce-class.html#app-model
【這裡有個地方濤提一下,@connect同時傳入一個loading,這個是dva封裝的一個在請求資料時載入中的一個狀態,它返回的是一個布林值 如loading: loading.effects['aboutpage/getData'],loading在資料請求前是true,響應結束後為false ,我們可以根據這個狀態給請求函式加 loading動畫】元件和modles建立連線的方式有多種,我這裡只列舉2種相對簡便的寫法
1.使用修飾器的方式要注意!!!!
@connect() 下面不可以直接export default class xxx不然會報錯,要使用 class xxx 然後再最後export default xxxx
@connect(({ aboutpage, loading }) => ({ aboutpage, loading: loading.effects['aboutpage/getData'], }))
2.
export default connect(({ aboutpage, loading }) => ({aboutpage,loading: loading.effects['aboutpage/getData'],}))(About);【這種是高階元件的寫法,包括修飾器也是,有興趣可以自己去研究】