refactor: fix React keys and cleanup effect dependencies in sidebar
This commit is contained in:
@@ -88,7 +88,7 @@ export default function AppSidebar({
|
|||||||
<SidebarGroup>
|
<SidebarGroup>
|
||||||
<SidebarGroupContent>
|
<SidebarGroupContent>
|
||||||
<SidebarMenu>
|
<SidebarMenu>
|
||||||
{items.map((item, index) => {
|
{items.map((item) => {
|
||||||
if (item.type === "item") {
|
if (item.type === "item") {
|
||||||
const isActive =
|
const isActive =
|
||||||
item.url === "/"
|
item.url === "/"
|
||||||
@@ -96,7 +96,7 @@ export default function AppSidebar({
|
|||||||
: pathname.startsWith(item.url)
|
: pathname.startsWith(item.url)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SidebarMenuItem key={`item-${index}`}>
|
<SidebarMenuItem key={`item-${item}`}>
|
||||||
<SidebarMenuButton asChild isActive={isActive}>
|
<SidebarMenuButton asChild isActive={isActive}>
|
||||||
<Link href={item.url}>
|
<Link href={item.url}>
|
||||||
<item.icon className="mr-2 h-4 w-4" />
|
<item.icon className="mr-2 h-4 w-4" />
|
||||||
@@ -109,7 +109,7 @@ export default function AppSidebar({
|
|||||||
if (item.type === "section") {
|
if (item.type === "section") {
|
||||||
return (
|
return (
|
||||||
<SidebarSection
|
<SidebarSection
|
||||||
key={`section-${index}`}
|
key={`section-${item}`}
|
||||||
title={item.title}
|
title={item.title}
|
||||||
icon={item.icon}
|
icon={item.icon}
|
||||||
items={item.items}
|
items={item.items}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ export function SidebarSection({
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setOpen(isAnySubActive)
|
setOpen(isAnySubActive)
|
||||||
}, [isAnySubActive, pathname])
|
}, [isAnySubActive])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Collapsible
|
<Collapsible
|
||||||
@@ -55,7 +55,7 @@ export function SidebarSection({
|
|||||||
{items?.map((subItem, i) => {
|
{items?.map((subItem, i) => {
|
||||||
const isActive = pathname.startsWith(subItem.url)
|
const isActive = pathname.startsWith(subItem.url)
|
||||||
return (
|
return (
|
||||||
<SidebarMenuSubItem key={i}>
|
<SidebarMenuSubItem key={i++}>
|
||||||
<SidebarMenuSubButton asChild isActive={isActive}>
|
<SidebarMenuSubButton asChild isActive={isActive}>
|
||||||
<Link href={subItem.url}>{subItem.title}</Link>
|
<Link href={subItem.url}>{subItem.title}</Link>
|
||||||
</SidebarMenuSubButton>
|
</SidebarMenuSubButton>
|
||||||
|
|||||||
Reference in New Issue
Block a user