From 19722821481a750a86f9c8ccaecb7a3db882b780 Mon Sep 17 00:00:00 2001 From: Edgar Simson <163636+edzis@users.noreply.github.com> Date: Fri, 18 Nov 2022 22:37:38 +0200 Subject: [PATCH] added flushsync to opt-out of automatic batching https://github.com/google-map-react/google-map-react/issues/1102#issuecomment-1116455460 --- src/google_map_markers.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/google_map_markers.js b/src/google_map_markers.js index e2fbb666..dd7a22de 100644 --- a/src/google_map_markers.js +++ b/src/google_map_markers.js @@ -1,4 +1,5 @@ import React, { Component } from 'react'; +import ReactDOM from 'react-dom' import PropTypes from 'prop-types'; // utils @@ -109,12 +110,15 @@ export default class GoogleMapMarkers extends Component { const prevChildCount = (this.state.children || []).length; const state = this._getState(); - this.setState( - state, - () => - (state.children || []).length !== prevChildCount && - this._onMouseChangeHandler() - ); + // https://github.com/google-map-react/google-map-react/issues/1102#issuecomment-1116455460 + ReactDOM.flushSync(() => { + this.setState( + state, + () => + (state.children || []).length !== prevChildCount && + this._onMouseChangeHandler() + ); + }); }; _onChildClick = () => {