From 2feeab9b2bb52ea56a1525de1dbf312d4fb1172f Mon Sep 17 00:00:00 2001 From: developomp Date: Sat, 22 Jan 2022 11:44:25 +0900 Subject: [PATCH] make use of useCallback --- source/src/components/Sidebar.tsx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/source/src/components/Sidebar.tsx b/source/src/components/Sidebar.tsx index 040f23b..361b9f7 100644 --- a/source/src/components/Sidebar.tsx +++ b/source/src/components/Sidebar.tsx @@ -1,4 +1,4 @@ -import { useState } from "react" +import { useCallback, useState } from "react" import styled, { css } from "styled-components" import ReactTooltip from "react-tooltip" import { isMobile } from "react-device-detect" @@ -80,12 +80,10 @@ const SidebarWrap = styled.div` const Sidebar = () => { const [isSidebarOpen, setSidebarOpen] = useState(false) - - // for some reason this.setState only works if this is an arrow function - const toggleSidebar = () => { + const toggleSidebar = useCallback(() => { setSidebarOpen((prev) => !prev) document.body.style.overflow = isSidebarOpen ? "" : "hidden" - } + }, [isSidebarOpen]) return ( <>