Unobserve status on unmount (#4013)
This fixes a warning on status unmounting (e.g. deletion). This also resets IntersectionObserverWrapper on disconnect to avoid `unobserve()` calls which has bug in Edge.master
							parent
							
								
									34c8a46d7d
								
							
						
					
					
						commit
						9c03fd9cae
					
				|  | @ -90,6 +90,10 @@ export default class Status extends ImmutablePureComponent { | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   componentWillUnmount () { |   componentWillUnmount () { | ||||||
|  |     if (this.props.intersectionObserverWrapper) { | ||||||
|  |       this.props.intersectionObserverWrapper.unobserve(this.props.id, this.node); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     this.componentMounted = false; |     this.componentMounted = false; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -37,9 +37,18 @@ class IntersectionObserverWrapper { | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   unobserve (id, node) { | ||||||
|  |     if (this.observer) { | ||||||
|  |       delete this.callbacks[id]; | ||||||
|  |       this.observer.unobserve(node); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   disconnect () { |   disconnect () { | ||||||
|     if (this.observer) { |     if (this.observer) { | ||||||
|  |       this.callbacks = {}; | ||||||
|       this.observer.disconnect(); |       this.observer.disconnect(); | ||||||
|  |       this.observer = null; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue