diff --git a/frontend/src/components/TasksLayout.tsx b/frontend/src/components/TasksLayout.tsx index 034aa6911..e2f94a027 100644 --- a/frontend/src/components/TasksLayout.tsx +++ b/frontend/src/components/TasksLayout.tsx @@ -367,7 +367,28 @@ export function TasksLayout() { ), [currentColumns, tasksByStatus, taskSearch, priorityFilter, setSelectedTaskId, setViewMode]); + + // β‘ Bolt: Wrap My Tasks list in useMemo to prevent O(N) re-renders + // π― Why: Mapping over potentially large lists of filtered tasks blocks the main thread during unrelated state updates. + const myTasksList = useMemo(() => { + if (viewMode !== 'λ΄ μμ ') return null; + return filteredTicketTasks.length > 0 ? filteredTicketTasks.map(task => ( + + )) : ( +
μλͺ μΈμ μ μ°κ²°λ λ΄ μμ μ΄ μμ΅λλ€.
+ ); + }, [filteredTicketTasks, setSelectedTaskId, setViewMode, viewMode]); const handleViewModeKeyDown = (event: KeyboardEventμλͺ μΈμ μ μ°κ²°λ λ΄ μμ μ΄ μμ΅λλ€.
- )} + {myTasksList}