perf(supplies): optimize React components with memo and callbacks
ФАЗА 2: Оптимизация производительности завершена: - Обернуты все блок-компоненты в React.memo для предотвращения лишних ререндеров - Добавлены useCallback для всех обработчиков событий в главном компоненте - Оптимизированы зависимости для минимизации пересоздания функций - Страница остается полностью функциональной Компоненты с memo: SuppliersBlock, ProductCardsBlock, DetailedCatalogBlock, CartBlock Callbacks: handleSupplierSelect, handleProductAdd, handleQuantityChange, handleRecipeChange 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -8,13 +8,14 @@
|
||||
'use client'
|
||||
|
||||
import { Search } from 'lucide-react'
|
||||
import React from 'react'
|
||||
|
||||
import { OrganizationAvatar } from '@/components/market/organization-avatar'
|
||||
import { Input } from '@/components/ui/input'
|
||||
|
||||
import type { SuppliersBlockProps } from '../types/supply-creation.types'
|
||||
|
||||
export function SuppliersBlock({
|
||||
export const SuppliersBlock = React.memo(function SuppliersBlock({
|
||||
suppliers,
|
||||
selectedSupplier,
|
||||
searchQuery,
|
||||
@ -132,7 +133,7 @@ export function SuppliersBlock({
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
// Утилитарная функция для меток рынков (временно, потом перенести в хук)
|
||||
function getMarketLabel(market?: string) {
|
||||
|
Reference in New Issue
Block a user