React Native - Проблемы производительности приложений с FlatList? - PullRequest
0 голосов
/ 11 декабря 2018

Я заполнил свою заявку в react native, но после сборки она стала медленной.Затем я начал исследования, чтобы улучшить производительность приложения.Я нашел эту документацию на официальном сайте react native, и я уверен, что это поможет мне, но я не могу получить ее в голову.Пожалуйста, кто-нибудь может сказать простыми словами, что говорит следующая документация:

Если вы используете неизменяемые структуры данных, это будет так же просто, как проверка на равенство ссылок.

Аналогично,Вы можете реализовать shouldComponentUpdate и указать точные условия, при которых вы хотите, чтобы компонент повторно отображался.Если вы пишете чистые компоненты (где возвращаемое значение функции рендеринга полностью зависит от реквизита и состояния), вы можете использовать PureComponent, чтобы сделать это за вас.Еще раз, неизменяемые структуры данных полезны для поддержания этого быстродействия - если вам нужно сделать глубокое сравнение большого списка объектов, может случиться так, что повторная отрисовка всего вашего компонента будет быстрее, и, безусловно, потребует меньше кода.

Я буду поляной.Спасибо !!!

1 Ответ

0 голосов
/ 11 декабря 2018

Если вы используете статический объект, вы можете визуализировать ваш компонент как PureComponent, как указано выше.Затем вы можете передать его реквизиты или установить состояние с помощью слов, которые вы хотите отобразить.

Когда вы сделаете это, FlatList будет перерисовывать только те части данных, которые ему нужны, в зависимости от того, что изменилось.,Последняя часть этого сообщения говорит о том, что PureComponent выполняет поверхностные сравнения - если что-то в массиве изменяется, но сам массив не изменяется, то ваш FlatList не будет обновляться.Однако с неизменяемым объектом вы всегда можете объявить его как PureComponent, и он должен быть быстрее.

...