先建立一個新項目,具體步驟請參考http://www.javashuo.com/article/p-zrkjfapr-dm.htmlcss
一.添加document.ejs文件(參考文檔:https://umijs.org/zh/guide/app-structure.html#src-pages-document-ejs)
在pages文件夾下建立document.ejs文件,有這個文件時,會覆蓋默認的 HTML 模板。
模板裏需至少包含根節點的 HTML 信息 <div id="root"></div>html
二.刪除umirc.js文件(參考文檔:https://umijs.org/zh/config/)
config/config.js 和 .umirc.js只能存在一個.因此咱們刪除.umirc.js文件,使用本身配置的config.js
在根目錄建立config/config.js
config.js文件的具體配置能夠查閱官方文檔
config.js裏面設置路由:
默認狀況下,pages文件目錄就是路由。配置的話須要在config.js裏面,以下:(注意:component 是相對於 src/pages 目錄的)react
三.添加模板文件夾layouts
刪除根目錄下的layouts文件夾,在pages文件夾下新增layouts文件夾,而且增長root.js和manage.js
root.js最外層的路由。manage.js是登錄有有導航菜單的路由redux
圖一是默認的目錄,圖二是自定義後的目錄:
圖一antd
使用的話就更簡單了:
有以下目錄pages/login.js,models/login.js
model/login.js代碼以下:app
pages/login.js代碼以下:ide
此時訪問login頁面,點擊登錄按鈕,就會出發login方法啦!ui
umi中使用loading:
@connect(({loading}) => ({ loading }))
添加了@connect(({loading}) => ({ loading })) 修飾器後,就打印出this.props就能夠看到有loading了
this
effects下面就是對應的請求,(能夠打印this.props.loading.effects['login/login']的值看下結果)
login/login發起請求的前this.props.loading.effects['login/login']的值爲true,
login/login請求完成後this.props.loading.effects['login/login']的值就變爲false
具體使用以下:spa
好啦,就是這麼簡單!