169 похожих чатов

Всем привет, есть компонент который рендарится на клиенте при нажатии

на определенную папку. компонент представляет из себя таблицу из 3 колонок и примерно от 1000 до 2500 рядов. ячейки представляют из себя textarea с данными которые можно редактировать. И проблема в том что при нажатии таблица появляется с довольно сильной задержкой, секунды 3. В чем может быть проблема ? ререндера там нету. А для виртуализации или инфинити скрола вроде не так много данных

12 ответов

5 просмотров

2,5к записей это мало данных?

Max Shabalin
2,5к записей это мало данных?

может у него мак про на m2

Девтулзы в помощь там все показано по времени какая операция занимает больше всего времени

1000 это очень мало. 0.01с навскидку. Где-то ререндеринг или архитектурно что-то не то. Есть код?

M S
1000 это очень мало. 0.01с навскидку. Где-то ререн...

Откуда такая инфа? На большинстве таблиц 200+ строк - это уже виртуализация нужна как минимум, чтобы интерфейс плавно работал для юзера

Alexandr
Откуда такая инфа? На большинстве таблиц 200+ стро...

Браузер на средней машине клонирует элементы со скоростью около 10 млн элементов в секунду.

M S
Браузер на средней машине клонирует элементы со ск...

Сколько таблиц без виртуализации и без пагинации на 1000+ строк у тебя написано на реакте? )

Alexandr
Сколько таблиц без виртуализации и без пагинации н...

Я не использую реакт для таблиц 1000+, изЗа его пенальти. Солид жиэс, свелт или ванила позволяют до 5000 строк со всей скоростью. Но у человека речь шла даже не о плавности. У него 3 сек тормоза на таблицах в 1-2 к рядов. Нормальное пенальти реакта 2-4 раза от нативной реализации. Все что свыше - что то не то с архитектурой.

M S
Я не использую реакт для таблиц 1000+, изЗа его пе...

Не понимаю смысла таких рассуждений, когда они ломаются бональным примером в сандбоксе https://codesandbox.io/s/basic-usage-antd-5-9-4-forked-phcn5g?file=/demo.tsx Хочешь сделать анимашку в одном рендере с рендером таблицы на 1000 строк и получаешь дерганую фигню, даже без замеров в профайлере. Можно один раз навесить виртуализацию и забыть про проблемы со скоростью рендера, в подавляющем большинстве кейсов этого за глаза хватает и нет смысла упарываться в какие-то оптимизации с мемоизациями.

Alexandr
Не понимаю смысла таких рассуждений, когда они лом...

Самое смешное, что там в таблице можно просто включить пагинацию ))

Alexandr
Не понимаю смысла таких рассуждений, когда они лом...

Вот как раз великолепный пример того, о чем я и говорил - если изменения стейта, не связанное с таблицей, вызывает полный ее ререндеринг - значит что-то не то с архитектурой. Накладываясь на неторопливость antd (при всей моей любви к нему, скоростью он не блещет) это и приводит к жутким лагам. Рендеринг с antd на стареньком ноуте - 1600 мс, чисто реактом - 400 мс, ванилой (без css) - 200 мс. Причем, в случаес ванилой, 90% рендеринга забирает рендеринг браузера а не код. Виртуализация для длинных списков это действительно хорошая практика. Но начинать нужно с тщательного продумывания архитектуры. Это вообще базовая вещь и краеугольный камень любой оптимизации.

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Карта сайта