Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Прежде чем бежать и убирать анонимные функции renderItem стоит узнать «насколько часто обновляется весь список»… очень часто он не обновляется вообще и это бесполезная оптимизация.
Приведите примеры, если не сложно. У меня ecommerce тематика и там...
Просто интересно в каком типе приложений постоянно обновляются списки, чтобы в будущем быть готовым.
Во вторых код смотрится неаккуратно
Почему бы не сделать так
А именно не использовать анонимную функцию для рендеринга внутри .map.
И последний шаг который мы можем сделать это использовать так называемый PureComponent для рендеринга каждого item
И пожалуйста не используйте для этого index элемента в массиве. Ниже я расскажу почему.
Весьма субъективно. Порой, чтобы вынести подобные конструкции в отдельный компонент, требуется на порядок больше кода, чем просто заинлайнить (вы же используете TypeScript или PropTypes?).
Спорно. Порой это только повышает расход ресурсов (процессор и память), а порой лучше мемоизировать компонент, который рендерит сам список.
И не рассказали. Нельзя так с читателем.
Для страждущих: key нужен Реакту для того, чтобы корректно запускать методы жизненного цикла для появляющихся и исчезающих из списка компонентов.
Рендеринг списков в React Native