Skip to content

Commit eef1bcf

Browse files
committed
example(user-dashboard): migrate to dva@2
1 parent 52b6efa commit eef1bcf

File tree

5 files changed

+30
-36
lines changed

5 files changed

+30
-36
lines changed

packages/dva-example-react-router-3/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
},
1212
"dependencies": {
1313
"babel-runtime": "^6.9.2",
14-
"dva-react-router-3": "^0.1.2",
14+
"dva-react-router-3": "^0.2.0",
1515
"react": "^15.4.0",
1616
"react-dom": "^15.4.0"
1717
},

packages/dva-example-user-dashboard/.roadhogrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
]
2929
}
3030
},
31-
"dllPlugin": {
31+
"xdllPlugin": {
3232
"exclude": [
3333
"babel-runtime"
3434
],

packages/dva-example-user-dashboard/package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212
"dependencies": {
1313
"antd": "^2.6.4",
1414
"babel-runtime": "^6.22.0",
15-
"dva": "^1.2.0",
15+
"dva": "^2.0.0-0",
1616
"dva-loading": "^0.2.0",
17+
"query-string": "^5.0.0",
1718
"react": "^15.4.2",
1819
"react-dom": "^15.4.2"
1920
},
@@ -30,6 +31,6 @@
3031
"expect": "^1.20.2",
3132
"husky": "^0.13.0",
3233
"redbox-react": "^1.3.2",
33-
"roadhog": "^0.6.0"
34+
"roadhog": "^1.2.0-beta.1"
3435
}
3536
}

packages/dva-example-user-dashboard/src/models/users.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import queryString from 'query-string';
12
import * as usersService from '../services/users';
23

34
export default {
@@ -43,7 +44,8 @@ export default {
4344
},
4445
subscriptions: {
4546
setup({ dispatch, history }) {
46-
return history.listen(({ pathname, query }) => {
47+
return history.listen(({ pathname, search }) => {
48+
const query = queryString.parse(search);
4749
if (pathname === '/users') {
4850
dispatch({ type: 'fetch', payload: query });
4951
}
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,29 @@
11
import React from 'react';
2-
import { Router } from 'dva/router';
3-
4-
const cached = {};
5-
function registerModel(app, model) {
6-
if (!cached[model.namespace]) {
7-
app.model(model);
8-
cached[model.namespace] = 1;
9-
}
10-
}
2+
import { Router, Switch, Route } from 'dva/router';
3+
import dynamic from 'dva/dynamic';
114

125
function RouterConfig({ history, app }) {
13-
const routes = [
14-
{
15-
path: '/',
16-
name: 'IndexPage',
17-
getComponent(nextState, cb) {
18-
require.ensure([], (require) => {
19-
cb(null, require('./routes/IndexPage'));
20-
});
21-
},
22-
},
23-
{
24-
path: '/users',
25-
name: 'UsersPage',
26-
getComponent(nextState, cb) {
27-
require.ensure([], (require) => {
28-
registerModel(app, require('./models/users'));
29-
cb(null, require('./routes/Users'));
30-
});
31-
},
32-
},
33-
];
6+
const IndexPage = dynamic({
7+
app,
8+
component: import('./routes/IndexPage'),
9+
});
10+
11+
const Users = dynamic({
12+
app,
13+
models: [
14+
import('./models/users'),
15+
],
16+
component: import('./routes/Users'),
17+
});
3418

35-
return <Router history={history} routes={routes} />;
19+
return (
20+
<Router history={history}>
21+
<Switch>
22+
<Route exact path="/" component={IndexPage} />
23+
<Route exact path="/users" component={Users} />
24+
</Switch>
25+
</Router>
26+
);
3627
}
3728

3829
export default RouterConfig;

0 commit comments

Comments
 (0)