From 365becc55ac675581c147b4e46cb00d4f8cb5475 Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Wed, 28 Oct 2026 18:09:26 +0400 Subject: [PATCH] =?UTF-8?q?perf(=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D0=B0?= =?UTF-8?q?):=20=D1=81=D1=82=D0=B0=D0=B1=D0=B8=D0=BB=D1=8C=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=BA=D0=BE=D0=BB=D0=B1=D1=8D=D0=BA=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B8=D1=81=D0=BA=D0=B0=20=D0=B4=D0=BB=D1=8F=20SettingsP?= =?UTF-8?q?anel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit onSearchNext/onSearchPrevious были стрелками в JSX и ломали memo панели. Co-Authored-By: Claude Opus 5.5 --- web/src/components/RealtimeTable/RealtimeTable.jsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/web/src/components/RealtimeTable/RealtimeTable.jsx b/web/src/components/RealtimeTable/RealtimeTable.jsx index 7e3a0dd..17a9d3b 100644 --- a/web/src/components/RealtimeTable/RealtimeTable.jsx +++ b/web/src/components/RealtimeTable/RealtimeTable.jsx @@ -550,6 +550,9 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => { [handleNavigateToColumn, searchMatches], ); + const handleSearchNext = useCallback(() => navigateToSearchMatch(1), [navigateToSearchMatch]); + const handleSearchPrevious = useCallback(() => navigateToSearchMatch(-1), [navigateToSearchMatch]); + const handleSearchKeyDown = useCallback( (event) => { if (event.key !== 'Enter') return; @@ -775,8 +778,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => { onGlobalFilterChange={handleGlobalFilterChange} globalFilter={globalFilter} onSearchKeyDown={handleSearchKeyDown} - onSearchNext={() => navigateToSearchMatch(1)} - onSearchPrevious={() => navigateToSearchMatch(-1)} + onSearchNext={handleSearchNext} + onSearchPrevious={handleSearchPrevious} searchMatchCount={searchMatches.length} searchMatchIndex={searchMatchIndex} sizeMult={sizeMult}