Skip to content

Commit c5fe738

Browse files
committed
Merge pull request #928 from sars/deferred-props
Revert deferred props, updating to redux-async-connect 1.x.x
2 parents 3fdcf22 + 49bfe26 commit c5fe738

File tree

5 files changed

+27
-24
lines changed

5 files changed

+27
-24
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@
108108
"react-router-bootstrap": "^0.20.1",
109109
"react-router-redux": "^3.0.0",
110110
"redux": "^3.0.4",
111-
"redux-async-connect": "^0.1.13",
111+
"redux-async-connect": "^1.0.0-rc2",
112112
"redux-form": "^3.0.12",
113113
"scroll-behavior": "^0.3.2",
114114
"serialize-javascript": "^1.1.2",

src/client.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ global.socket = initSocket();
3636

3737
const component = (
3838
<Router render={(props) =>
39-
<ReduxAsyncConnect {...props} helpers={{client}} />
39+
<ReduxAsyncConnect {...props} helpers={{client}} filter={item => !item.deferred} />
4040
} history={history}>
4141
{getRoutes(store)}
4242
</Router>

src/containers/App/App.js

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,22 @@ import { isLoaded as isAuthLoaded, load as loadAuth, logout } from 'redux/module
1111
import { InfoBar } from 'components';
1212
import { routeActions } from 'react-router-redux';
1313
import config from '../../config';
14+
import { asyncConnect } from 'redux-async-connect';
1415

16+
@asyncConnect([{
17+
promise: ({store: {dispatch, getState}}) => {
18+
const promises = [];
19+
20+
if (!isInfoLoaded(getState())) {
21+
promises.push(dispatch(loadInfo()));
22+
}
23+
if (!isAuthLoaded(getState())) {
24+
promises.push(dispatch(loadAuth()));
25+
}
26+
27+
return Promise.all(promises);
28+
}
29+
}])
1530
@connect(
1631
state => ({user: state.auth.user}),
1732
{logout, pushState: routeActions.push})
@@ -37,20 +52,6 @@ export default class App extends Component {
3752
}
3853
}
3954

40-
static reduxAsyncConnect(params, store) {
41-
const {dispatch, getState} = store;
42-
const promises = [];
43-
44-
if (!isInfoLoaded(getState())) {
45-
promises.push(dispatch(loadInfo()));
46-
}
47-
if (!isAuthLoaded(getState())) {
48-
promises.push(dispatch(loadAuth()));
49-
}
50-
51-
return Promise.all(promises);
52-
}
53-
5455
handleLogout = (event) => {
5556
event.preventDefault();
5657
this.props.logout();

src/containers/Widgets/Widgets.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,16 @@ import * as widgetActions from 'redux/modules/widgets';
55
import {isLoaded, load as loadWidgets} from 'redux/modules/widgets';
66
import {initializeWithKey} from 'redux-form';
77
import { WidgetForm } from 'components';
8+
import { asyncConnect } from 'redux-async-connect';
89

10+
@asyncConnect([{
11+
deferred: true,
12+
promise: ({store: {dispatch, getState}}) => {
13+
if (!isLoaded(getState())) {
14+
return dispatch(loadWidgets());
15+
}
16+
}
17+
}])
918
@connect(
1019
state => ({
1120
widgets: state.widgets.data,
@@ -25,13 +34,6 @@ export default class Widgets extends Component {
2534
editStart: PropTypes.func.isRequired
2635
};
2736

28-
static reduxAsyncConnect(params, store) {
29-
const {dispatch, getState} = store;
30-
if (!isLoaded(getState())) {
31-
return dispatch(loadWidgets());
32-
}
33-
}
34-
3537
render() {
3638
const handleEdit = (widget) => {
3739
const {editStart} = this.props; // eslint-disable-line no-shadow

src/server.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ app.use((req, res) => {
8888
res.status(500);
8989
hydrateOnClient();
9090
} else if (renderProps) {
91-
loadOnServer(renderProps, store, {client}).then(() => {
91+
loadOnServer({...renderProps, store, helpers: {client}}).then(() => {
9292
const component = (
9393
<Provider store={store} key="provider">
9494
<ReduxAsyncConnect {...renderProps} />

0 commit comments

Comments
 (0)