Я использую самый дерзкий компонент react-virtualized в приложении, похожем на календарь. м работаю.
Я использую три сетки с ScrollSync
, как в этот пример, но также используя cellRangeRenderer
для рендеринга "таблеток" поверх сетки.
Приложение работает очень хорошо, однако я обнаружил, что на более медленных компьютерах рендеринг при прокрутке может быть довольно медленным (может быть около 40 столбцов на 20 строк и до 40 или около того таблеток, отображаемых в одном представлении).
Некоторым людям, которые будут использовать это приложение, на самом деле не нужна виртуализация, потому что общая таблица данных не настолько велика. Итак, что я хотел бы сделать, так это продолжать использовать общую структуру, которую предоставляет react-virtualized
, но для пользователей со строками ‹ x, но просто визуализировать всю сетку за один раз, чтобы, надеюсь, улучшить производительность. Для пользователей со строками > x сетки будут виртуализированы как обычно.
Я знаю, что cellRangeRenderer
просто получает начальный и конечный индекс для строк и столбцов, а затем возвращает массив div для каждой ячейки сетки, поэтому я могу представить себе просто отправку начального и конечного индексов для всей сетки, а затем для всей сетки будет возвращен. Я просто не уверен, как переопределить повторный рендеринг при прокрутке.
Мне было бы интересно услышать любые предложения или подобный опыт.