From 79743095340ebaa04eb0025d579c6f8d4edfa29c Mon Sep 17 00:00:00 2001 From: Flavien DELANGLE Date: Mon, 4 Mar 2019 17:03:38 +0100 Subject: [PATCH] APP-3733 Use React.useCallback instead of React.useMemofor callbacks --- src/ExpansionPanelItem/ExpansionPanelItem.tsx | 4 ++-- src/Menu/Menu.tsx | 12 ++++++------ src/withTriggerElement.tsx | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/ExpansionPanelItem/ExpansionPanelItem.tsx b/src/ExpansionPanelItem/ExpansionPanelItem.tsx index e2b236b1..dfc8edc2 100644 --- a/src/ExpansionPanelItem/ExpansionPanelItem.tsx +++ b/src/ExpansionPanelItem/ExpansionPanelItem.tsx @@ -22,8 +22,8 @@ const BaseExpansionPanelItem: React.StatelessComponent } }) - const onToggle = React.useMemo( - () => () => setOpenedItem(openedItem === itemId ? null : itemId), + const onToggle = React.useCallback( + () => setOpenedItem(openedItem === itemId ? null : itemId), [openedItem, setOpenedItem, itemId] ) diff --git a/src/Menu/Menu.tsx b/src/Menu/Menu.tsx index f2371db1..6fda84b4 100644 --- a/src/Menu/Menu.tsx +++ b/src/Menu/Menu.tsx @@ -17,14 +17,14 @@ const Menu: React.StatelessComponent = ({ const [open, setOpen] = React.useState(false) const isSmallScreen = useIsSmallScreen() - const handleClose = React.useMemo( - () => () => setOpen(false), - [] + const handleClose = React.useCallback( + () => setOpen(false), + [setOpen] ) - const handleToggle = React.useMemo( - () => () => setOpen(wasOpen => !wasOpen), - [] + const handleToggle = React.useCallback( + () => setOpen(wasOpen => !wasOpen), + [setOpen] ) useOnClickOutside(wrapperRef, handleClose) diff --git a/src/withTriggerElement.tsx b/src/withTriggerElement.tsx index c2c8f44c..83c1892b 100644 --- a/src/withTriggerElement.tsx +++ b/src/withTriggerElement.tsx @@ -16,20 +16,20 @@ const withTriggerElement = (WrappedComponent const [open, setOpen] = React.useState(false) - const handleToggle = React.useMemo( - () => () => setOpen(wasOpen => !wasOpen), - [] + const handleToggle = React.useCallback( + () => setOpen(wasOpen => !wasOpen), + [setOpen] ) - const handleClose = React.useMemo( - () => e => { + const handleClose = React.useCallback( + e => { if (isFunction(onClose)) { onClose(e) } setOpen(false) }, - [onClose] + [setOpen, onClose] ) return (