refactor: optimize handleTeamsChange function with useCallback for better performance
This commit is contained in:
@@ -5,7 +5,7 @@ import {
|
|||||||
PanelLeftOpenIcon,
|
PanelLeftOpenIcon,
|
||||||
UserCogIcon,
|
UserCogIcon,
|
||||||
} from "lucide-react";
|
} from "lucide-react";
|
||||||
import { useMemo, useState } from "react";
|
import { useCallback, useMemo, useState } from "react";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
DashboardCrudPage,
|
DashboardCrudPage,
|
||||||
@@ -52,7 +52,7 @@ export default function DashboardAgentsPage() {
|
|||||||
const [selectedTeam, setSelectedTeam] = useState<AdminAgentTeam | null>(null);
|
const [selectedTeam, setSelectedTeam] = useState<AdminAgentTeam | null>(null);
|
||||||
const [sidebarCollapsed, setSidebarCollapsed] = useState(false);
|
const [sidebarCollapsed, setSidebarCollapsed] = useState(false);
|
||||||
|
|
||||||
function handleTeamsChange(nextTeams: AdminAgentTeam[]) {
|
const handleTeamsChange = useCallback((nextTeams: AdminAgentTeam[]) => {
|
||||||
setSelectedTeam((current) => {
|
setSelectedTeam((current) => {
|
||||||
if (nextTeams.length === 0) {
|
if (nextTeams.length === 0) {
|
||||||
return null;
|
return null;
|
||||||
@@ -62,7 +62,7 @@ export default function DashboardAgentsPage() {
|
|||||||
}
|
}
|
||||||
return nextTeams.find((item) => item.id === current.id) ?? nextTeams[0];
|
return nextTeams.find((item) => item.id === current.id) ?? nextTeams[0];
|
||||||
});
|
});
|
||||||
}
|
}, []);
|
||||||
|
|
||||||
const filters = useMemo<DashboardCrudFilter[]>(
|
const filters = useMemo<DashboardCrudFilter[]>(
|
||||||
() => [
|
() => [
|
||||||
|
|||||||
Reference in New Issue
Block a user