diff --git a/src/components/TopNav/index.js b/src/components/TopNav/index.js index 0741d6f..7e72734 100644 --- a/src/components/TopNav/index.js +++ b/src/components/TopNav/index.js @@ -111,6 +111,7 @@ const TopNav = ({ if (!cache.refs[menu.id]) return menu cache.slide[menu.id] = true const el = cache.refs[menu.id] + if (!el) return menu const rect = el.getBoundingClientRect() return { ...menu, @@ -121,6 +122,7 @@ const TopNav = ({ const getMenuCenter = useCallback(menuId => { const el = cache.refs[menuId] + if (!el) return const rect = el.getBoundingClientRect() return rect.left + rect.width / 2 }, [cache.refs]) @@ -267,6 +269,7 @@ const TopNav = ({ if (!cache.slide[menu.id] || !cache.refs[menu.id]) return cache.slide[menu.id] = false const el = cache.refs[menu.id] + if (!el) return const rect = el.getBoundingClientRect() const relativeX = menu.initialX - rect.left el.style.transform = `translateX(${relativeX}px)` @@ -310,6 +313,7 @@ const TopNav = ({ if (!menuEl) return const rect = menuEl.getBoundingClientRect() if (!prect) { + if (!menuEl.parentElement) return prect = menuEl.parentElement.getBoundingClientRect() } // add the item if it's overflowing