@@ -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 = {};
7071Reloader . 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
7879export default connect (
7980 state => ( {
8081 config : state . config ,
81- reloadHash : state . reloadHash
82+ reloadRequest : state . reloadRequest
8283 } ) ,
8384 dispatch => ( { dispatch} )
8485) ( Reloader ) ;
0 commit comments