1.输出文件
1.1 dva
1.2 dva/router
默认输出 react-router 接口, react-router-redux 的接口通过属性 routerRedux 输出。
import { Router, Route, routerRedux } from 'dva/router';
1.3 dva/fetch
异步请求库,输出 isomorphic-fetch 的接口。不和 dva 强绑定,可以选择任意的请求库。
1.4 dva/saga
输出 redux-saga 的接口,主要用于用例的编写。(用例中需要用到 effects)
1.5 dva/dynamic
解决组件动态加载问题的 util 方法。
import dynamic from 'dva/dynamic';
const UserPageComponent = dynamic({
app,
models: () => [
import('./models/users'),
],
component: () => import('./routes/UserPage'),
});
app: dva 实例,加载 models 时需要
models: 返回 Promise 数组的函数,Promise 返回 dva model
component:返回 Promise 的函数,Promise 返回 React Component
2.dva API
2.1 app = dva(opts)
创建应用,返回 dva 实例。(注:dva 支持多实例)
opts 包含:
history:指定给路由用的 history,默认是 hashHistory
initialState:指定初始数据,优先级高于 model 中的 state,默认是 {}
如果要配置 history 为 browserHistory,可以这样:
import createHistory from 'history/createBrowserHistory';
const app = dva({
history: createHistory(),
});
另外,出于易用性的考虑,opts 里也可以配所有的 hooks ,下面包含全部的可配属性: