Skip to content

Commit 58d6f3f

Browse files
authored
Prevent nav context re-renders (#4266)
1 parent 17e91d8 commit 58d6f3f

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

beta/src/components/useMenu.tsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,17 @@ export const useMenu = () => {
5151
};
5252
}, [router.pathname, hideSidebar]);
5353

54-
return {
55-
hideSidebar,
56-
showSidebar,
57-
toggleOpen,
58-
menuRef,
59-
isOpen,
60-
};
54+
// Avoid top-level context re-renders
55+
return React.useMemo(
56+
() => ({
57+
hideSidebar,
58+
showSidebar,
59+
toggleOpen,
60+
menuRef,
61+
isOpen,
62+
}),
63+
[]
64+
);
6165
};
6266

6367
export const MenuContext = React.createContext<ReturnType<typeof useMenu>>(

0 commit comments

Comments
 (0)