Fix isIntersecting in Chrome (#3525)

This commit is contained in:
Nolan Lawson 2017-06-03 05:43:10 -07:00 committed by Eugen Rochko
parent c7f2d6af55
commit 3363f2f4d6

View File

@ -88,9 +88,11 @@ class Status extends ImmutablePureComponent {
} }
handleIntersection = (entry) => { handleIntersection = (entry) => {
// Edge 15 doesn't support isIntersecting, but we can infer it from intersectionRatio // Edge 15 doesn't support isIntersecting, but we can infer it
// https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12156111/ // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12156111/
const isIntersecting = entry.intersectionRatio > 0; // https://github.com/WICG/IntersectionObserver/issues/211
const isIntersecting = (typeof entry.isIntersecting === 'boolean') ?
entry.isIntersecting : entry.intersectionRect.height > 0;
this.setState((prevState) => { this.setState((prevState) => {
if (prevState.isIntersecting && !isIntersecting) { if (prevState.isIntersecting && !isIntersecting) {
scheduleIdleTask(this.hideIfNotIntersecting); scheduleIdleTask(this.hideIfNotIntersecting);