Yuki Takei hace 5 años
padre
commit
6877e7963f

+ 4 - 8
src/client/js/components/Navbar/GrowiSubNavigationSwitcher.jsx

@@ -23,7 +23,7 @@ const GrowiSubNavigationSwitcher = (props) => {
 
 
   const [isVisible, setVisible] = useState(false);
   const [isVisible, setVisible] = useState(false);
 
 
-  const resetWidth = () => {
+  const resetWidth = useCallback(() => {
     const elem = document.getElementById('grw-subnav-fixed-container');
     const elem = document.getElementById('grw-subnav-fixed-container');
 
 
     if (elem == null || elem.parentNode == null) {
     if (elem == null || elem.parentNode == null) {
@@ -34,15 +34,11 @@ const GrowiSubNavigationSwitcher = (props) => {
     const { clientWidth: width } = elem.parentNode;
     const { clientWidth: width } = elem.parentNode;
     // update style
     // update style
     elem.style.width = `${width}px`;
     elem.style.width = `${width}px`;
-  };
-
-  const resetWidthDebounced = debounce(100, resetWidth);
+  }, []);
 
 
   // setup effect by resizing event
   // setup effect by resizing event
   useEffect(() => {
   useEffect(() => {
-    const resizeHandler = (event) => {
-      resetWidthDebounced();
-    };
+    const resizeHandler = debounce(100, resetWidth);
 
 
     window.addEventListener('resize', resizeHandler);
     window.addEventListener('resize', resizeHandler);
 
 
@@ -70,7 +66,7 @@ const GrowiSubNavigationSwitcher = (props) => {
     return () => {
     return () => {
       elem.removeEventListener(StickyEvents.CHANGE, stickyChangeHandler);
       elem.removeEventListener(StickyEvents.CHANGE, stickyChangeHandler);
     };
     };
-  }, []);
+  }, [stickyChangeHandler]);
 
 
   // update width
   // update width
   useEffect(() => {
   useEffect(() => {