先建立一个新项目,具体步骤请参考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
好啦,就是这么简单!