diff --git a/packages/dva-example-react-router-3/package.json b/packages/dva-example-react-router-3/package.json
index 259e1cad..6a37fa92 100644
--- a/packages/dva-example-react-router-3/package.json
+++ b/packages/dva-example-react-router-3/package.json
@@ -11,7 +11,7 @@
},
"dependencies": {
"babel-runtime": "^6.9.2",
- "dva-react-router-3": "^0.1.2",
+ "dva-react-router-3": "^0.2.0",
"react": "^15.4.0",
"react-dom": "^15.4.0"
},
diff --git a/packages/dva-example-user-dashboard/.roadhogrc b/packages/dva-example-user-dashboard/.roadhogrc
index 86136378..4eccba64 100644
--- a/packages/dva-example-user-dashboard/.roadhogrc
+++ b/packages/dva-example-user-dashboard/.roadhogrc
@@ -28,7 +28,7 @@
]
}
},
- "dllPlugin": {
+ "xdllPlugin": {
"exclude": [
"babel-runtime"
],
diff --git a/packages/dva-example-user-dashboard/package.json b/packages/dva-example-user-dashboard/package.json
index 288a1f72..97a499ae 100644
--- a/packages/dva-example-user-dashboard/package.json
+++ b/packages/dva-example-user-dashboard/package.json
@@ -12,8 +12,9 @@
"dependencies": {
"antd": "^2.6.4",
"babel-runtime": "^6.22.0",
- "dva": "^1.2.0",
+ "dva": "^2.0.0-0",
"dva-loading": "^0.2.0",
+ "query-string": "^5.0.0",
"react": "^15.4.2",
"react-dom": "^15.4.2"
},
@@ -30,6 +31,6 @@
"expect": "^1.20.2",
"husky": "^0.13.0",
"redbox-react": "^1.3.2",
- "roadhog": "^0.6.0"
+ "roadhog": "^1.2.0-beta.1"
}
}
diff --git a/packages/dva-example-user-dashboard/src/models/users.js b/packages/dva-example-user-dashboard/src/models/users.js
index 3914c5dd..19c72f5c 100644
--- a/packages/dva-example-user-dashboard/src/models/users.js
+++ b/packages/dva-example-user-dashboard/src/models/users.js
@@ -1,3 +1,4 @@
+import queryString from 'query-string';
import * as usersService from '../services/users';
export default {
@@ -43,7 +44,8 @@ export default {
},
subscriptions: {
setup({ dispatch, history }) {
- return history.listen(({ pathname, query }) => {
+ return history.listen(({ pathname, search }) => {
+ const query = queryString.parse(search);
if (pathname === '/users') {
dispatch({ type: 'fetch', payload: query });
}
diff --git a/packages/dva-example-user-dashboard/src/router.js b/packages/dva-example-user-dashboard/src/router.js
index d86e9214..f85b478a 100644
--- a/packages/dva-example-user-dashboard/src/router.js
+++ b/packages/dva-example-user-dashboard/src/router.js
@@ -1,38 +1,29 @@
import React from 'react';
-import { Router } from 'dva/router';
-
-const cached = {};
-function registerModel(app, model) {
- if (!cached[model.namespace]) {
- app.model(model);
- cached[model.namespace] = 1;
- }
-}
+import { Router, Switch, Route } from 'dva/router';
+import dynamic from 'dva/dynamic';
function RouterConfig({ history, app }) {
- const routes = [
- {
- path: '/',
- name: 'IndexPage',
- getComponent(nextState, cb) {
- require.ensure([], (require) => {
- cb(null, require('./routes/IndexPage'));
- });
- },
- },
- {
- path: '/users',
- name: 'UsersPage',
- getComponent(nextState, cb) {
- require.ensure([], (require) => {
- registerModel(app, require('./models/users'));
- cb(null, require('./routes/Users'));
- });
- },
- },
- ];
+ const IndexPage = dynamic({
+ app,
+ component: import('./routes/IndexPage'),
+ });
+
+ const Users = dynamic({
+ app,
+ models: [
+ import('./models/users'),
+ ],
+ component: import('./routes/Users'),
+ });
- return ;
+ return (
+
+
+
+
+
+
+ );
}
export default RouterConfig;