TanStack выпустила бету Table v9 — библиотеку для работы с сетками данных (data-grid), которая позволяет разработчикам подключать только те функции, которые им действительно нужны. Размер бандлов сократился примерно до 5 КБ, а задержки взаимодействия (INP), из-за которых сортировка или фильтрация казались «вязкими», исчезли.
Почему это важно
В v8 библиотека поставляется со всей логикой сетки — сортировкой, фильтрацией, пагинацией, выбором строк, группировкой — независимо от того, использует ли их проект. Этот лишний код выполняется в основном потоке, увеличивает размер бандла и добавляет задержку при действиях пользователя. Для дашбордов, которым требуются быстрые и отзывчивые таблицы, даже несколько миллисекунд лага могут снизить показатель INP до неудовлетворительного уровня.
Что изменилось в v9
- Модули функций по запросу — импортируйте только те части, которые вы действительно используете. Если вы не используете сортировку, код для неё даже не попадет в бандл.
- Интеграция с TanStack Store — управляйте состоянием с помощью гранулярного хранилища, чтобы обновление одной строки не вызывало полный рендеринг панели фильтров или других несвязанных элементов интерфейса.
- Снижение потребления памяти — меньшее количество объектов и массивов снижает нагрузку на кучу JavaScript (JS heap) во время длительных сессий.
Эти изменения позволяют уменьшить размер загрузки (библиотека может весить около 5 КБ для простого списка) и обеспечить более плавное взаимодействие при работе с нагруженными сетками.
Кому это будет полезно
- Frontend-командам, создающим внутренние инструменты, админ-панели или SaaS-дашборды, где таблицы являются основным элементом интерфейса.
- Сайтам, ориентированным на производительность, которые отслеживают Core Web Vitals; более низкий INP напрямую улучшает этот показатель.
Что v9 не исправляет
Улучшения направлены на код, который вы контролируете. Они не сделают магическим образом быстрее страницу, которая загружает массивный JSON-пакет, и не компенсируют накладные расходы тяжелых сторонних скриптов. Большие наборы данных по-прежнему требуют правильной пагинации, а сетевая задержка остается отдельной проблемой.
Практический путь миграции
- Найдите самые «тяжелые» таблицы — обратите внимание на списки заказов, сетки инвентаря или представления CRM, где уже заметны задержки.
- Зафиксируйте базовые метрики — запишите показатели INP и длительность длительных задач (long tasks) на этих страницах до внесения изменений.
- Мигрируйте по одной сетке за раз — замените импорт из v8 на набор модулей v9, включая только те функции, которые реально используются на экране.
- Избегайте универсального бандла
stockFeatures— использование стандартного набора функций сводит на нет всю экономию размера. - Повторно протестируйте взаимодействие — снова измерьте сортировку, фильтрацию и выбор, чтобы подтвердить прирост производительности.
Контраргумент: это не панацея
Некоторые разработчики могут ожидать, что v9 решит все проблемы с медленным интерфейсом. На самом деле, выигрыш от библиотеки ограничен объемом кастомного кода, который вы можете сократить. Если узким местом таблицы является огромный объем строк или неэффективный серверный API, уменьшение размера бандла окажет ограниченное влияние.
На что обратить внимание дальше
Итог: TanStack Table v9 дает реальный способ перестать платить за неиспользуемый функционал сетки. Импортируя только необходимые модули и используя гранулярное хранилище, вы сможете сэкономить несколько килобайт в своих бандлах и обеспечить заметно более быстрый отклик таблиц — при условии, что вы сочетаете обновление с разумными стратегиями обработки данных.
