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;