Skip to content

Commit b954af4

Browse files
authored
Merge pull request #130 from SSWConsulting/fix-unique_key_prop_error
Fixing using "key" pro error appearing in Rules POC while implementing mega.menu package
2 parents 60d758b + 1a2dbe6 commit b954af4

File tree

2 files changed

+17
-25
lines changed

2 files changed

+17
-25
lines changed

lib/components/DesktopMenu/DesktopMenu.tsx

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -40,36 +40,28 @@ const DesktopMenu: React.FC<DesktopMenuProps> = ({
4040
group.sidebarItems.length > 0
4141
) {
4242
return (
43-
<Popover key={group.name}>
44-
{({ open, close }) => {
45-
{
46-
/* TODO: Duplicated check needed here to appease Typescript */
47-
}
48-
if (!group.menuColumns || !group.sidebarItems) return <></>;
49-
return (
50-
<MenuContextProvider value={{ close }}>
51-
<MenuItemWithSubmenu
52-
name={group.name}
53-
menuColumns={group.menuColumns}
54-
sidebarItems={group.sidebarItems}
55-
isOpened={open}
56-
viewAll={group.viewAll}
57-
/>
58-
</MenuContextProvider>
59-
);
60-
}}
43+
<Popover key={`popover-${group.name}`}>
44+
{({ open, close }) => (
45+
<MenuContextProvider value={{ close }}>
46+
<MenuItemWithSubmenu
47+
name={group.name}
48+
menuColumns={group.menuColumns!}
49+
sidebarItems={group.sidebarItems!}
50+
isOpened={open}
51+
viewAll={group.viewAll}
52+
/>
53+
</MenuContextProvider>
54+
)}
6155
</Popover>
6256
);
6357
} else if (group.url) {
6458
return (
6559
<MenuItemLink
6660
name={group.name}
6761
href={group.url}
68-
key={group.name}
62+
key={`link-${group.name}`}
6963
/>
7064
);
71-
} else {
72-
return <></>;
7365
}
7466
})}
7567
</Popover.Group>

lib/components/MobileMenu/MobileMenu.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ export interface MobileMenuProps extends SearchTermProps {
1717
const MobileMenu: React.FC<MobileMenuProps> = ({
1818
menuBarItems,
1919
isMobileMenuOpen,
20-
2120
closeMobileMenu,
2221
setSearchTerm,
2322
searchTerm,
@@ -83,6 +82,7 @@ interface MenuBarItemProps extends SearchTermProps {
8382
menuBarItems: NavMenuGroup[];
8483
setSelectedMenuItem: (item: NavMenuGroup) => void;
8584
}
85+
8686
const MenuBarItems: React.FC<MenuBarItemProps> = ({
8787
menuBarItems,
8888
setSelectedMenuItem,
@@ -95,18 +95,18 @@ const MenuBarItems: React.FC<MenuBarItemProps> = ({
9595
return (
9696
<div className="-my-6 flex flex-col gap-4 pl-6">
9797
<div className="space-y-2">
98-
{menuBarItems.map((item) => {
98+
{menuBarItems.map((item, index) => {
9999
return item.url ? (
100100
<CustomLink
101-
key={item.name}
101+
key={`link-${item.name}-${index}`}
102102
href={item.url}
103103
className="-mx-3 flex w-full items-center px-3 py-2 text-left text-lg leading-7 text-ssw-black hover:text-ssw-red"
104104
>
105105
{item.name}
106106
</CustomLink>
107107
) : (
108108
<button
109-
key={item.name}
109+
key={`button-${item.name}-${index}`}
110110
className="-mx-3 flex w-full items-center px-3 py-2 text-left text-lg leading-7 text-ssw-black hover:text-ssw-red"
111111
onClick={() => setSelectedMenuItem(item)}
112112
>

0 commit comments

Comments
 (0)