React Redux для обработки больших данных - PullRequest
0 голосов
/ 26 июня 2018

В настоящее время я работаю над инструментом, который читает файлы Excel и отображает их в веб-приложении. Я разделяю, как в Excel, каждый лист на разные вкладки. При переключении вкладок это занимает около 2 секунд. Это потому, что Excel -> Json имеет длину более 8000 строк. Это, вероятно, избыточный, который не может справиться с такими массивными Json's.

Я провел некоторое исследование, но я не знаю, может ли какое-либо из моих решений работать. И если так, какой из них будет лучшим?

  1. immutable.js
  2. перевождь-ОРМ
  3. Несколько магазинов (но это не так)

Может быть, у кого-то есть лучшее решение для обработки больших данных.

1 Ответ

0 голосов
/ 26 июня 2018

Redux не проблема

Redux может обрабатывать огромные объемы данных и не должен быть проблемой в этом случае. Скорее всего, это проблема, возникающая из-за перерисовки. Даже вкладки, которых нет в представлении, могут переставлять при переключении между ними, чтобы проверить, удаляются ли дополнительные вкладки до тех пор, пока у вас не будет только 2, и проверьте щелчок между ними и посмотрите, сколько времени занимает повторное отображение. Прочитайте раздел производительности в документах здесь .

Оптимизировать

При работе с большими объемами данных микрооптимизация действительно может помочь. Если вы используете компонент Container, шаблон представления Presentational , то убедитесь, что ваши презентационные компоненты используют подкласс PureComponent . Это поможет вам остановить рендеры, которые пожирают память.

Альтернативой PureComponent является componentShouldUpdate , вы можете указать правила, когда должно происходить обновление / перерисовка.

В инструментах реагирования разработчика есть флажок, который позволяет вам проверять, когда компонент перезапускается, проверьте это и начните перемещаться по вашему приложению. Он покажет вам все бессмысленные повторные выстрелы.

Еще один способ помочь оптимизировать - это ленивая загрузка: «зачем показывать 8000 записей, когда экран может уместиться только на 100?». Это имеет 2 эффекта: вы не получаете данные, которые не собираетесь просматривать, и не отображаете ячейки, которых нет на экране.

Надеюсь, это даст вам представление о том, как двигаться вперед, удачи.

...