Skip to content
This repository was archived by the owner on Jun 4, 2024. It is now read-only.

Commit 9c9c797

Browse files
committed
Rename reloadHash store to reloadRequests, add intervalId as state.
1 parent 1a8fd9c commit 9c9c797

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

Diff for: src/components/core/Reloader.react.js

+14-13
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,27 @@ class Reloader extends React.Component {
1111
this.state = {
1212
hash: null,
1313
interval,
14-
disabled: false
14+
disabled: false,
15+
intervalId: null
1516
}
1617
} else {
1718
this.state = {
1819
disabled: true
1920
}
2021
}
21-
this._intervalId = null;
2222
}
2323

2424
componentDidUpdate() {
25-
const {reloadHash, dispatch} = this.props;
26-
if (reloadHash.status === 200) {
25+
const {reloadRequest, dispatch} = this.props;
26+
if (reloadRequest.status === 200) {
2727
if (this.state.hash === null) {
28-
this.setState({hash: reloadHash.content.reloadHash});
28+
this.setState({hash: reloadRequest.content.reloadHash});
2929
return;
3030
}
31-
if (reloadHash.content.reloadHash !== this.state.hash) {
31+
if (reloadRequest.content.reloadHash !== this.state.hash) {
3232
// eslint-disable-next-line no-undef
3333
window.clearInterval(this._intervalId);
34-
if (reloadHash.content.hard) {
34+
if (reloadRequest.content.hard) {
3535
// Assets file have changed, need to reload them.
3636
// eslint-disable-next-line no-undef
3737
window.top.location.reload();
@@ -46,17 +46,18 @@ class Reloader extends React.Component {
4646
componentDidMount() {
4747
const { dispatch } = this.props;
4848
const { disabled, interval } = this.state;
49-
if (!disabled && !this._intervalId) {
50-
this._intervalId = setInterval(() => {
49+
if (!disabled && !this.state.intervalId) {
50+
const intervalId = setInterval(() => {
5151
dispatch(getReloadHash());
5252
}, interval);
53+
this.setState({intervalId})
5354
}
5455
}
5556

5657
componentWillUnmount() {
57-
if (!this.state.disabled) {
58+
if (!this.state.disabled && this.state.intervalId) {
5859
// eslint-disable-next-line no-undef
59-
window.clearInterval(this._intervalId);
60+
window.clearInterval(this.state.intervalId);
6061
}
6162
}
6263

@@ -70,15 +71,15 @@ Reloader.defaultProps = {};
7071
Reloader.propTypes = {
7172
id: PropTypes.string,
7273
config: PropTypes.object,
73-
reloadHash: PropTypes.object,
74+
reloadRequest: PropTypes.object,
7475
dispatch: PropTypes.func,
7576
interval: PropTypes.number
7677
};
7778

7879
export default connect(
7980
state => ({
8081
config: state.config,
81-
reloadHash: state.reloadHash
82+
reloadRequest: state.reloadRequest
8283
}),
8384
dispatch => ({dispatch})
8485
)(Reloader);

Diff for: src/reducers/reducer.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const reducer = combineReducers({
2020
dependenciesRequest: API.dependenciesRequest,
2121
layoutRequest: API.layoutRequest,
2222
loginRequest: API.loginRequest,
23-
reloadHash: API.reloadRequest,
23+
reloadRequest: API.reloadRequest,
2424
history
2525
});
2626

0 commit comments

Comments
 (0)