У меня есть массив от 4000 до 5000 объектов, с которыми мне нужно работать на протяжении всего жизненного цикла моего приложения angular. Я использую ngrx для управления состоянием в этом приложении и буду загружать эти данные, используя эффект с оператором startWith. Мне было интересно, насколько велик массив объектов, который можно загружать и хранить в состоянии таким образом.
Вы можете попробовать создать простой тест, используя stackblitz.com (или аналогичный) и посмотреть, какое влияние на производительность оказывают 5000 элементов в магазине Ngrx.
Вы можете издеваться над большим массивом с помощью
Array.from(
new Array(5000),
(c, i) => ({ test: `This is test object #${i}` })
)
Это действительно зависит от того, что находится в вашем массиве и что вы планируете с ним делать. Сам массив может содержать множество значений, прежде чем он окажет какое-либо влияние на ваше приложение.
Но если у вас есть массив, содержащий огромное количество значений, вот мой совет:
Set
, содержащий всех этих людей (только ссылки на них).trackBy
в своем списке с помощью *ngFor
, а также changeDetectionStrategy: ChangeDetectionStrategy.OnPush`Я уже пытался выяснить, может ли приложение обрабатывать 100 000 элементов, и ответ положительный, хотя иногда оно начало немного переставать отвечать. Таким образом, 4 или 5k должны быть хорошими, если следовать приведенной выше информации.