ASPIRIN
Я пробывал несколько, помоему 3 штуки, сейчас посмотрю по истории какие
Dmitry
Используй FlatList и будет тебе счастье
ASPIRIN
VirtualizedList, FlatList и еще акакойто самый простой
ASPIRIN
Вот последний я сменил с Flat на Virtualized очень коряво для тестов
不退転」
FlatList самая производительная опция
ASPIRIN
ASPIRIN
Вот мой говнокод на коленке для тестов
ASPIRIN
поставил initialNumToRender большой т.к. проще полождать пока все отрендерит, иначе не работают клики на элементы пока все не зарендерятся
不退転」
Может проблема не в листе, а в самом реквесте?
ASPIRIN
Может проблема не в листе, а в самом реквесте?
Реквест выполнятся за долго до, я его дебажил а вот рендер проходит долго, по пачкам
ASPIRIN
ща запущу и покажу
ASPIRIN
У тебя через ридакс все?
нет, при инциализации кмопнента делается аякс запрос и в стейт кладется ответ
不退転」
Так нельзя
不退転」
Ну, типа, антипаттерн
ASPIRIN
不退転」
Это во первых
ASPIRIN
Так нельзя
я лб этом слышал, но как правильно?
不退転」
В во вторых, попробуй рендерить не все 300-500 элементов
ASPIRIN
ComponentDidMount
а я так и сделал, сорян не прочитал
ASPIRIN
^
不退転」
^
Понял. Ну, просто нет смысла сразу все 300+ элементов выгружать
ASPIRIN
Понял. Ну, просто нет смысла сразу все 300+ элементов выгружать
у меня длинное меню по макету, и удобно тудя сюда скроллить
不退転」
у меня длинное меню по макету, и удобно тудя сюда скроллить
Попробуй наследовать от PureComponent класс :^)
不退転」
А вообще, ты профайлер юзал-то?
ASPIRIN
Понял. Ну, просто нет смысла сразу все 300+ элементов выгружать
Сейчас я запущу проект, покрою дебагами и скину куски которые меня смущают. Вся проблема в том что у приложений конкурентов есть такие списки и работают шустро. а также меня смущает что многие приложения которые заявляют что написанны на rn работают со списками намного длинее и сложнее и при этом очень быстро. начинает казатся что от меня утаивают какуюто хитрость
ASPIRIN
Профилировать надо, а не покрывать ))
я в rn нуб, это что-то из стандартного набора или доп пакеты?
ASPIRIN
this https://facebook.github.io/react-native/docs/performance ?
Gena
я в rn нуб, это что-то из стандартного набора или доп пакеты?
Это в Chrome можно делать в дебаггере. Я ща с телефона, не могу подробно описать, но может кто ещё напишет как.
Gena
Да, оттуда были ссылки вроде
Dmitry
Что за дичь с асинками
Dmitry
У нас тут не так давно было разбирательство с FlatList и его прои зводительностью
ASPIRIN
Что за дичь с асинками
это временная фигня для тестов, грязно написанно
Pavel
Всем доброго времени суток. Вопрос немного не по реакту но про мобилы. Есть Android Galaxy x6 - приложение с магазина ставится и работает хорошо, а с apk ставится но не работает, может какие настройки?
Pavel
ктонибудь сталкивался?
ASPIRIN
Я могу снять профилирование с expo или мне нужно его скомпилить?
ASPIRIN
Можешь
через systrace?
Stas
FlatList самая производительная опция
flatlist это обертка над virtualizedList
不退転」
ASPIRIN
Да
а какое имя пакета задавать )))
Stas
ключи не должны быть рандомными)
ASPIRIN
ключи не должны быть рандомными)
это в процессе тестов, разницы особой не было, раньше не были рандомные
Stas
ну с рандомными ключами каждый элемент реднерится каждый раз с нуля
ASPIRIN
я сейчас привожу все в нормальный вид что бы снять 2 профалинга 1. Просто с текстом 2. С компонентом
Dmitry
я сейчас привожу все в нормальный вид что бы снять 2 профалинга 1. Просто с текстом 2. С компонентом
У тебя картинки есть в итемах? У меня списки только с текстом спокойно рендерятся по 1000 штук
ASPIRIN
вот этот пример работает > 30 сек
ASPIRIN
там чуть больше 500 строк
Dmitry
А че за getRandomKey
Dmitry
Убери getitem, сделай количество начальных элементов поменьше
ASPIRIN
Без getitem не робит
ASPIRIN
ASPIRIN
Заметил что он постоянно заново проходит
Dmitry
Поставь FlatList
Dmitry
А он у тебя случаем не внутри ScrollView ????
Dmitry
Убирай
Dmitry
Оберни в обычный view
ASPIRIN
ASPIRIN
Убирай
спасибо больше, его другой разработчик добавил а я не заметил
Dmitry
ASPIRIN
даже не вникал в его работу а теперь понял )))
ASPIRIN
Ну теперь с этим можно работать, быстренько грузит даже компонент с картинками
Dmitry
Там по сути получается так. FlatList реагирует на скроллинг для перерисовки видимой части списка, а ScrollView вызывает событие скроллинга при изменении списка и получается, что FlatList вызывает скроллинг на ScrollView, а то в свою очередь вызывает перерисовку FlatList
Dmitry
Есть у кого на примете ресурсы с шаблонами приложения, вроде темфореста
Ihor
Есть у кого на примете ресурсы с шаблонами приложения, вроде темфореста
NativeBase https://nativebase.io/ У них есть стартер паки (бесплатные и платные)
Ihor
Есть у кого на примете ресурсы с шаблонами приложения, вроде темфореста
Маркет: https://market.nativebase.io/?utm_source=nativebase&utm_medium=showcase+section&utm_campaign=nativebase&affiliate_code=20535682-NAT-196333