From eed4a632432618a2b751d801ee166c5b766ff21f Mon Sep 17 00:00:00 2001 From: NikolaBorislavovHristov Date: Mon, 2 Dec 2019 10:37:53 +0200 Subject: [PATCH] fix multiselect trigger onOpen/onClose after first render --- src/common/Multiselect/Multiselect.js | 31 ++++++++++++++++----------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/common/Multiselect/Multiselect.js b/src/common/Multiselect/Multiselect.js index d69f6577b..51b6bef4d 100644 --- a/src/common/Multiselect/Multiselect.js +++ b/src/common/Multiselect/Multiselect.js @@ -41,22 +41,27 @@ const Multiselect = ({ className, direction, title, options, selected, disabled, closeMenu(); } }, [dataset, onSelect]); + const mountedRef = React.useRef(false); React.useLayoutEffect(() => { - if (menuOpen) { - if (typeof onOpen === 'function') { - onOpen({ - type: 'open', - dataset: dataset - }); - } - } else { - if (typeof onClose === 'function') { - onClose({ - type: 'close', - dataset: dataset - }); + if (mountedRef.current) { + if (menuOpen) { + if (typeof onOpen === 'function') { + onOpen({ + type: 'open', + dataset: dataset + }); + } + } else { + if (typeof onClose === 'function') { + onClose({ + type: 'close', + dataset: dataset + }); + } } } + + mountedRef.current = true; }, [menuOpen]); return (