From 477060bfed9eb16f3de031939e367b85144ea3d2 Mon Sep 17 00:00:00 2001 From: Eldar Gabdullin Date: Thu, 2 Jan 2020 12:45:19 +0400 Subject: [PATCH] call callbacks immediately from DOM event handler --- src/Calendar.jsx | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/Calendar.jsx b/src/Calendar.jsx index 3651ece9..6ebe2091 100644 --- a/src/Calendar.jsx +++ b/src/Calendar.jsx @@ -226,13 +226,13 @@ export default class Calendar extends Component { setActiveStartDate = (activeStartDate) => { const { onActiveStartDateChange } = this.props; - this.setState({ activeStartDate }, () => { - const { view } = this; + this.setState({ activeStartDate }); - callIfDefined(onActiveStartDateChange, { - activeStartDate, - view, - }); + const { view } = this; + + callIfDefined(onActiveStartDateChange, { + activeStartDate, + view, }); } @@ -242,15 +242,16 @@ export default class Calendar extends Component { setActiveStartDateAndView = (activeStartDate, view, callback) => { const { onActiveStartDateChange, onViewChange } = this.props; - this.setState({ activeStartDate, view }, () => { - const args = { - activeStartDate, - view, - }; - callIfDefined(onActiveStartDateChange, args); - callIfDefined(onViewChange, args); - callIfDefined(callback, args); - }); + this.setState({ activeStartDate, view }); + + const args = { + activeStartDate, + view, + }; + + callIfDefined(onActiveStartDateChange, args); + callIfDefined(onViewChange, args); + callIfDefined(callback, args); } drillDown = (nextActiveStartDate, event) => { @@ -307,7 +308,8 @@ export default class Calendar extends Component { callback = () => callIfDefined(onChange, nextValue); } - this.setState({ value: nextValue }, callback); + this.setState({ value: nextValue }); + callback && callback() } onClickTile = (value, event) => {